Archivlink: javarea.de Forum > JavaScript > Zuweisung ='visible' funktioniert nach Filtern nicht mehr
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Zuweisung ='visible' funktioniert nach Filtern nicht mehr

Pages: [1]

geschrieben von Schwefel am 01.06.2010 - 18:49
Hi,
ich ändere ein DIV mittel
HTML-Quelltext
1: 
document.getElementById(string).style.visibility = "visible";
ohne Probleme, sobald ich das Element unter Zuhilfenahme von Filtern ausblende kann ich sie nicht wieder einblenden ???
HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
var eva= document.getElementById(id).style;
eva.opacity = (pas / 100);
eva.MozOpacity = (pas / 100);
eva.KhtmlOpacity = (pas / 100);
eva.filter = "alpha(opacity=" + pas + ")"; 
// und dann
eva.display = "none";


Ich vermute dass es am Konflikt display <-> visibility liegt,
und vor allem dass ich gerade irgendwie auf dem Schlauch stehe...

Hilfe wäre Klasse!

Grüße
Thomas

geschrieben von Danny am 02.06.2010 - 03:23
Hallo Thomas,

wenn du mit display: none das Element ausgeblendet hast, bringt dir visibilty: visible nichts. Selbe auch anders herum .. die beiden Eigenschaften sind unabhängig voneinander und haben auch unterschiedliche Bedeutungen ;)

Um ein Element aus und einzublenden sollte man sich entscheiden, welche Eigenschaft man verwendet. Bei visibility: hidden/visible bleibt die Größe und Position des Elementes erhalten.. bei display:none/block (bzw. inline oder die anderen Varianten) ist es wie "gelöscht" .. umliegende Elemente rutschen nach ..


siehe auch

http://www.css4you.de/visibility.html
http://www.css4you.de/display.html

Vielleicht liegt der Fehler ja auch schon darin ;)

Gruß Danny

geschrieben von Schwefel am 02.06.2010 - 10:38
Hi,

ich spreche nun nur noch display an und es funzt,
offenbar gibt es keinen Konflikt zwischen opacity & display.

Hatte außerdem den grundsätzlichen Denkfehler
das neue DIV unter dem Alten zu plazieren zu wollen und dann das Alte auszublenden, Problem:
Abfragen welche(s) DIV sichtbar ist liefern falsche Antworten wenn opacity-Schleife noch läuft... mal abgesehen davon dass der z-index auch noch manipuliert werden muss.

Jetzt setze ich alle DIVs auf display = 'none' und blende das neue DIV ein.

Danke also schon mal!

btw.
eva.filter = "alpha(opacity=" + pas + ")";
funktioniert im IE8 einwandfrei, gilt das auch für 6/7 ?

Grüße
Thomas



geschrieben von Danny am 04.06.2010 - 00:48
Hallo,

filter: alpha() wurde m.E. schon vor dem IE6 von Microsoft eingeführt. Wenn du dein Seite online hast, kann ich aber auch gern einfach mal mit dem IE6 einen Blick drauf werfen.

Gruß Danny

geschrieben von Schwefel am 08.06.2010 - 11:29
Hi,

Danke für das Angebot, die Seite ist aber noch in einem unzumutbaren Zustand...

Aber hier ist das schön zusammen gefaßt:
http://www.quirksmode.org/css/opacity.html

Grüße
Thomas


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.