Box zentrieren mit Impromptu

  • Kannst du es dir vielleicht mal angucken? Ich finde die entsprechende Stelle einfach nicht.

  • Code
    div.extblue {
        position: absolute;
        height: 100%;
        display: table-cell;
        vertical-align: middle;
            }
  • das heisst, dass es ne firemelarbeit is die entsprechende stelle zu finden, da im script alle umbrüche fehlen und es in einer einzelnen zeile is... :|

    such mal nach "fixed",height:$window.height(),width:"100%",top:(ie6)?$window.scrollTop():0,left:0,right:0,bottom:0});
    (suchwort "fixed" sollte reichen, des kommt nur einmal vor im gesamten code der ../../scripts/jquery-impromptu.js

    und da ändere mal des top:(ie6)?$window.scrollTop():0, und setz da mal nen wert...zb 200px oder sowas

    bin mir bei der ganzen faxe noch net sicher, weil ich a) noch kaum plan von jquery hab und b) das ganze hier nich testen kann (is mir zu mühselig alles zu kopieren und mir nen entsprechendes szenario zu basteln)

  • ei bei alert is des ja auch programmiert...
    du könntest unter des script noch nen anderes script setzen.. viewport auslesen,
    document.body.clientWidth oder sowas ..
    element holen neu positionieren (top:50% minus (höhe der box/2) und left:50% minus (breite der box/2)

  • naja auch net so wild :)

    zieh dir des hier mal rein und guck, ob du damit was anfangen kannst :)
    müsstest halt irgendwie nachdem deinen custom alert aufgerufen und angezeigt wurde die centerObj()-funktion anwenden und in hochkommata in den klammern der funktion die ID deines custom-alerts angeben.

  • Ich habe es jetzt mal so gemacht:

    Ich habe den Eintrag "200" wieder rausgenommen. Der ist ja jetzt überflüssig, denke ich mal. Die Box erscheint aber immer noch am oberen Rand.

    Hier ist eine Testdatei:

    http://www.raetselstunde.de/test.html

    Ich habe es bei der Frage 201 ausprobiert.

    Kannst du bitte nochmal drübergucken?

  • Funktioniert leider immer noch nicht:

    Code
    <tr>
    <td class="textraetsel-gelb">201) Bei welchem Fußballspiel ist kein Schiedsrichter auf dem Spielfeld?</td>
    <td class="textraetsel-gelb">
    <img onclick="$.prompt('Beim Tischfußball',{prefix:'extblue',opacity: 0.1,overlayspeed:'fast',promptspeed:'fast'});centerObj('stuff'); centerObj('extblue');" alt="Scherzfragen Lösung" src="buttons/raetsel-loesung.png"></td>
    </tr>

    Außerdem läuft die Tabelle unten über die Seite raus :confused:

  • ich seh grad dass des centerObj('stuff'); da nix zu suchen hat, des ding, was du da hast heisst ja 'extblue'...

    und wieso des über die seite rausläuft weiß ich net, an meinem code darf es an sich nicht liegen..
    bau mal in meinem script unter die zeile
    var target = document.getElementById(obj);
    nen
    alert(target);

    um zu testen, ob das entsprechende objekt überjhaupt übergeben wird..

  • ich seh grad dass des centerObj('stuff'); da nix zu suchen hat, des ding, was du da hast heisst ja 'extblue'...

    und wieso des über die seite rausläuft weiß ich net, an meinem code darf es an sich nicht liegen..

    Ich habe centerObj('stuff'); rausgenommen. Jetzt läuft die Tabelle nicht mehr über die Seite raus, aber zentriert ist die Box immer noch nicht :confused:

    Zitat

    bau mal in meinem script unter die zeile
    var target = document.getElementById(obj);
    nen
    alert(target);

    Habe ich gemacht.

  • edit:

    habs mir grad doch selber gezogen und getestet...
    also funktionsaufruf bleibt wie gehabt...

    nur musste des script von mir nochma tauschen durch das hier:

    2 Mal editiert, zuletzt von synaptic (6. September 2009 um 10:55)

  • Ich habe noch eine ergänzende Frage zu dem obigen Problem, deshalb führe ich den Thread hier einfach mal weiter.

    Ich habe folgenden Code:

    PHP
    <img onclick=\"$.prompt('$antwort',{prefix:'extblue',opacity: 0.1,overlayspeed:'fast',promptspeed:'fast'});centerObj('extblue')\" alt=\"Rätsel Lösung\" src=\"buttons/raetsel-loesung-small.png\" />

    Ich hätte gerne, dass wenn beim Prompt auf "ok" geklickt wird, die Seite neu geladen wird. Ich habe das mit location.reload() versucht, also so:

    PHP
    <img onclick=\"$.prompt('$antwort',{prefix:'extblue',opacity: 0.1,overlayspeed:'fast',promptspeed:'fast'});centerObj('extblue');location.reload()\" alt=\"Rätsel Lösung\" src=\"buttons/raetsel-loesung-small.png\" />

    Dann wird aber die Seite neu geladen, ohne dass auf den ok-Klick gewartet wird. Es erscheint also der Prompt und direkt danach wird die Seite neu geladen.

    Wie kann ich es erreichen, dass die Seite erst nach dem Klick auf "neu" geladen wird.