Ich habe eine absolute Position div
, die ich zeigen möchte, wenn der Benutzer auf einen Link klickt. Der onclick
der Verbindung ruft eine js Funktion auf, die die Anzeige des zu blockierenden div setzt (auch probiert: "", inline
, table-cell
, inline-table
, usw.). Das funktioniert super in IE7, überhaupt nicht in jedem anderen Browser, den ich ausprobiert habe (FF2, FF3, Opera 9.5, Safari).
Ich habe versucht, Warnungen vor und nach dem Anruf hinzuzufügen, und sie zeigen, dass die Anzeige von none
in block
geändert wurde, aber die div
nicht angezeigt wird.
Ich kann das div
in FF3 anzeigen lassen, wenn ich den Anzeigewert mit dem HTML-Inspektor von Firebug ändere (aber nicht mit Javascript über die Firebug-Konsole) - damit ich weiß, dass es nicht nur außerhalb des Bildschirms angezeigt wird. p>
Ich habe alles versucht, was ich mir vorstellen kann, einschließlich:
Irgendwelche Ideen darüber, was das verursachen könnte?
Da das Festlegen der Eigenschaften mit Javascript nie zu funktionieren schien, aber die Einstellung mit Firebugs inspect, begann ich zu vermuten, dass der JavaScript-ID-Selektor defekt war - vielleicht gab es mehrere Elemente im DOM mit der gleichen ID? Die Quelle zeigte nicht, dass es da war, aber das Durchlaufen aller divs mithilfe von Javascript fand ich, dass das der Fall war. Hier ist die Funktion, die ich verwendet habe, um das Popup anzuzeigen:
%Vor%(die Dienstprogrammfunktion getObjectsByTagAndClass ist nicht aufgelistet)
Im Idealfall werde ich herausfinden, warum dasselbe Objekt mehrmals eingefügt wird, aber ich habe keine Kontrolle über die Rendering-Plattform, nur die Eingaben.
Denken Sie also beim Debuggen von Problemen wie dieser daran, nach doppelten IDs im DOM zu suchen, die getElementById brechen können.
An alle, die geantwortet haben, danke für Ihre Hilfe!
Können Sie ein Markup bereitstellen, das den Fehler reproduziert? Deine Situation muss etwas mit deinem Code zu tun haben, da ich dies mit IE, FF3 und Opera 9.5 machen kann:
Die Antwort gefunden: Ich muss Folgendes verwenden, damit es in beiden Browsern funktioniert:
%Vor%Tatsächlich hatte ich das gleiche Problem, das Sie hier beschreiben. Was mein Problem tatsächlich behoben hat, war das Ändern der Dokumenteigenschaften.
Alte DOCTYPE / html-Spezifikation
%Vor%Ersetzt durch
%Vor%Versuchen Sie, die Höhe und Breite des div festzulegen, und stellen Sie sicher, dass es oben ist, indem Sie seinen Z-Index höher als alles andere setzen. Wenn sich das absolut positionierte div in einem Element befindet, das relativ positioniert ist, befindet sich die Position oben und links auf der Oberseite und links des relativ positionierten Elements. Versuchen Sie, Ihr div direkt unter das Körperelement zu setzen.
Es gibt einen störenden Anzeigefehler bei Firefox 3.5, aber nicht bei IE7 oder Firefox 2.0.9
Ich habe die absolute Position von 3 DIV - die erste mit reinem Text; der zweite mit einem CSS-Menü (Saugfisch-Typ mit UL und LI) und der dritte dito. Die dritte wird überhaupt nicht angezeigt, obwohl die Codierung überprüft wurde und sich mit dem W3C-HTML-Validator als perfekt herausgestellt hat.
Als vorübergehende Maßnahme habe ich den Inhalt des zweiten und dritten DIV zusammengeführt.
Es muss schlecht in Mozilla sein, wenn IE7 und FF2 OK anzeigen, aber nicht FF 3.5
Ich gebe dir einen GROSSEN Hinweis:
%Vor%Wenn Sie etwas im Stil haben, dann wird document.style funktionieren! Wenn Sie etwas in der Klasse haben, wird es nicht in document.style angezeigt und class="..." wird es ÜBERSCHREITEN!
Denken Sie darüber nach und das wird SO VIELE FRAGEN aufklären. Nur dieses eine kleine Verständnis wird dich von diesem Geistvirus befreien. Haben Sie einen guten Tag. Prost, Ron Lentjes, LC CLS.
Tags und Links javascript html css