Zur Navigation

Globale Variablen in JavaScript - Austausch zw. HTML-Dateien [4]

31 Jörg Kruse

Wenn du diese CSS-Angabe löschst oder auskommentierst, funktioniert's:

div#table{position:relative; }

27.06.2008 14:44

32 lava

Ja, aber dann funktioniert leider etwas anderes nicht mehr!

Da steht ja auch wirklich etwas zu der Position von div#table drin, nämlich

div#table{<?PHP if (!empty($_REQUEST["vor"])) 
{echo "top: -";echo $_REQUEST["vor"]; echo "px;";} 
?>}

und auf der Seite, auf der das Schließen mit drin ist, ist der Parameter "vor" auch nicht leer. Denn nach dem Schließen soll die Fototabelle ja durchaus schon so weit vorscrollen, wie sie es vorhin war (d.h. ich übergebe in "vor" die aktuelle Scrollposition). Bei den zugegebenermaßen recht ähnlichen Bildern fällt das nicht auf, aber wenn ich position:relative herausnehme, dann wird halt beim "Schließen" wieder als oberstes das erste Bild angezeigt, und das soll ja vermieden werden.....

27.06.2008 14:53 | geändert: 27.06.2008 14:56

33 Jörg Kruse

Probier mal, das div#big im HTML-Code ganz nach hinten zu schieben

<div id='big'>
  <a href="copy2.php?pre=200"><font color=yellow>Schlie&szlig;en</font></a><br/>
<img src=PicGall/gummi2.jpg> </div>

</body></html>

Geht es dann?

27.06.2008 15:07

34 lava

Ja, tatsächlich. Kannst du mir erklären warum???

Und dann ist mir noch etwas gerade aufgefallen: Wenn ich das erste Bild anklicke (pos=0) dann funktioniert es nicht - in keinem der beiden Browser.
Also scheint empty($_REQUEST["pos"]) anders zu funktionieren als ich dachte: gilt das als "empty", wenn der Wert 0 übergeben wird? Unterscheidet empty nicht zwischen NULL (es wird NICHTS übergeben) und 0 ? D.h. wie kann ich dann (wenn ich nicht die Nummerierung ändern will) abprüfen, ob überhaupt etwas (was auch 0 sein darf) übergeben wurde?

27.06.2008 15:19

35 Jörg Kruse

Ja, tatsächlich. Kannst du mir erklären warum???

Ich vermute, dass die Tabelle vor der endgültigen Positionierung den Link überlappt - und Firefox diese Überlappung nicht mehr korrekt aufhebt. Bei einer Vertauschung der Reihenfolge überlappt der Link die Tabelle, so dass der Bug hier nicht in Erscheinung tritt

Und dann ist mir noch etwas gerade aufgefallen: Wenn ich das erste Bild anklicke (pos=0) dann funktioniert es nicht - in keinem der beiden Browser.
Also scheint empty($_REQUEST["pos"]) anders zu funktionieren als ich dachte: gilt das als "empty", wenn der Wert 0 übergeben wird? Unterscheidet empty nicht zwischen NULL (es wird NICHTS übergeben) und 0 ?

Ja, "0" gilt auch als "empty".

D.h. wie kann ich dann (wenn ich nicht die Nummerierung ändern will) abprüfen, ob überhaupt etwas (was auch 0 sein darf) übergeben wurde?

Die Funktion isset() kann hier wohl weiterhelfen

27.06.2008 15:52 | geändert: 27.06.2008 15:53

36 lava

Zitat von Jörg

Ich vermute, dass die Tabelle vor der endgültigen Positionierung den Link überlappt - und Firefox diese Überlappung nicht mehr korrekt aufhebt. Bei einer Vertauschung der Reihenfolge überlappt der Link die Tabelle, so dass der Bug hier nicht in Erscheinung tritt

Ach, dann hat das gar nichts mit meinem windows.scrollTo zu tun (was ich vermutet hätte), sondern damit ob ich erst das Div mit dem Link (absolut positioniert) aufbaue und dann das Div mit der Fotovorschau mit der relativen Positionierung "darüber" schiebe (was mir den Link kaputt macht) oder umgekehrt (so daß mein Link ganz bleibt) - richtig verstanden?

Gut, ich probiere isset dann mal aus - klingt aber vielversprechend :)

Ich wollte mir ja schon länger mal eine Art Manual mit all den Dingen schreiben, die ich so gelernt habe hier im Forum. Ich weiß aber nicht so genaut, mit welchem Tool/Editor o.ä. ich das am besten machen kann - ich hab schon über normale Textverarbeitungsprogramme wie Word, über Sachen wie LaTeX oder über ein eigenes Wiki nachgedacht - was wäre denn empfehlenswert? (Am liebsten hätte ich eigentlich etwas, was im Quellcode-Bereich Syntaxhighlighting in verschiedenen Farben macht und dann trotzdem keine Inkonsistenzen kritisiert, die dadurch zustande kommen, daß es eben kein durchgängiges Programm, sondern nur eine Programmschnipsel-Zusammenstellung ist....)

27.06.2008 16:11

37 Jörg Kruse

Ach, dann hat das gar nichts mit meinem windows.scrollTo zu tun (was ich vermutet hätte), sondern damit ob ich erst das Div mit dem Link (absolut positioniert) aufbaue und dann das Div mit der Fotovorschau mit der relativen Positionierung "darüber" schiebe (was mir den Link kaputt macht) oder umgekehrt (so daß mein Link ganz bleibt) - richtig verstanden?

Ja, das Problem tritt auch unabhängig von dem JavaScript auf und ist nur abhängig von der Positionierung der beiden Elemente

Die Frage der Dokumentation würde ich nochmal in einem eigenen Thread aufgreifen - dazu können andere vielleicht auch noch gute Tipps geben :)

27.06.2008 16:20

38 lava

Zitat von Jörg
nur abhängig von der Positionierung der beiden Elemente

Hm, aber was wäre dann, wenn man in beiden Elementen Links drin haben wollte??? Macht mir der "Schließen"-Link jetzt nur "zufällig" die Anklickbarkeit meiner scrollenden Bildchen nicht kaputt, weil sein Div eben mit einem entsprechenden left immer weiter links liegt? Oder ist es grundsätzlich so, daß man die absoluten Elemente erst nach den relativen definieren darf? (Aber könnte man nicht auch ein "relative" relativ zum vorherigen, absolute definierten Div setzen wollen und MÜSSTE es dann dahinterschreiben?)

27.06.2008 16:24 | geändert: 27.06.2008 16:27

39 Jörg Kruse

Womöglich spielte hier auch die Art der Positionierung eine Rolle: das erste div war absolut, das zweite relativ positioniert. Wenn eine der beiden Positionierungen aufgehoben wurde, "funktionierte" der Bug nicht mehr. Von daher würde ich austesten, ob das Problem überhaupt noch besteht, wenn das relativ positionierte div an erster Stelle steht. Ansonsten kann man das zweite div auch mithilfe von margin ausrichten

Edit:
Oder ist es grundsätzlich so, daß man die absoluten Elemente erst nach den relativen definieren darf?
Naja, man darf auch anders herum - aber anscheinend hat Firefox mit bestimmten Konstellationen seine Schwierigkeiten

27.06.2008 16:33 | geändert: 27.06.2008 16:37

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]