Divs ein- und ausblenden
Klange
- css
Hallo!
Ich habe zwei Divs definiert,
die übereinander liegen.
einer hat das display:block
und einer das display:none.
Nun möchte ich beim überfahren
den display-status tauschen,
also der bisher sichtbare Block
wird unsichtbar und andersherum.
Realisiert habe ich das über
hover der Divs. Das klappt
auch soweit, allerdings führt
das zu einem Flimmern beim
überfahren.
Wie kann ich das Problem lösen?
Danke und mfG Kai
hi,
Nun möchte ich beim überfahren
den display-status tauschen,
also der bisher sichtbare Block
wird unsichtbar und andersherum.Realisiert habe ich das über
hover der Divs. Das klappt
auch soweit, allerdings führt
das zu einem Flimmern beim
überfahren.
Na das ist doch wohl logisch, oder?
Wie kann ich das Problem lösen?
In dem du deine Anforderung änderst bzw. genauer definierst.
gruß,
wahsaga
wahsaga, ich denke Dir ist klar, dass ich mit der Antwort
nichts anfangen kann, sonst hätte ich die Frage nicht stellen
müssen!
Prinzipiell bin ich die Sache so angegangen:
#div1: hover {display:block;}
und
#div2: hover {display:none;}
1: Die Anforderung ist ein verdecktes
Menü, auf welches durch einen Text
hingewiesen wird, der beim überfahren
durch das Menü ersetzt wird.
2: Warum ensteht ein Flimmern?
3: Was ist die beste Lösung für das
Problem.
MfG Kai
hi,
Nun möchte ich beim überfahren
den display-status tauschen,
also der bisher sichtbare Block
wird unsichtbar und andersherum.Realisiert habe ich das über
hover der Divs. Das klappt
auch soweit, allerdings führt
das zu einem Flimmern beim
überfahren.Na das ist doch wohl logisch, oder?
Wie kann ich das Problem lösen?
In dem du deine Anforderung änderst bzw. genauer definierst.
gruß,
wahsaga
hi,
wahsaga, ich denke Dir ist klar, dass ich mit der Antwort
nichts anfangen kann, sonst hätte ich die Frage nicht stellen
müssen!
KLange, ich hoffe dir _wird_ jetzt klar, dass man mit deiner Fragestellung kaum mehr anfangen konnte, als solch eine Antwort geben.
Prinzipiell bin ich die Sache so angegangen:
#div1: hover {display:block;}
und
#div2: hover {display:none;}
Und das soll jetzt klarer sein?
Welches Div ist zuerst sichtbar, welches wird überfahren?
1: Die Anforderung ist ein verdecktes
Menü, auf welches durch einen Text
hingewiesen wird, der beim überfahren
durch das Menü ersetzt wird.
OK.
Also enthält div2 diesen Text, und wird beim hovern unsichtbar gemacht.
Wozu soll dann
#div1: hover {display:block;}
gut sein?
Entweder ist es schon sichtbar, fein - oder es ist nicht sichtbar. Dann lässt es sich aber auch schwerlich hovern.
Und bitte sinnvoll zitieren und kein TOFU, Danke.
gruß,
wahsaga
hi,
wahsaga, ich denke Dir ist klar, dass ich mit der Antwort
nichts anfangen kann, sonst hätte ich die Frage nicht stellen
müssen!KLange, ich hoffe dir _wird_ jetzt klar, dass man mit deiner Fragestellung kaum mehr anfangen konnte, als solch eine Antwort geben.
Prinzipiell bin ich die Sache so angegangen:
#div1: hover {display:block;}
und
#div2: hover {display:none;}Und das soll jetzt klarer sein?
Welches Div ist zuerst sichtbar, welches wird überfahren?
1: Die Anforderung ist ein verdecktes
Menü, auf welches durch einen Text
hingewiesen wird, der beim überfahren
durch das Menü ersetzt wird.OK.
Also enthält div2 diesen Text, und wird beim hovern unsichtbar gemacht.
Wozu soll dann
#div1: hover {display:block;}
gut sein?
Entweder ist es schon sichtbar, fein - oder es ist nicht sichtbar. Dann lässt es sich aber auch schwerlich hovern.
Ok, ich habe angenommen, ich kann ein Element auch hovern
wenn es unsichtbar ist, da es ja existent ist.
Dann werde ich die beiden Divs in ein übergeordnetes
packen, über welches die hover-Abfrage läuft und die
beiden anderen entsprechend aktiviert/deaktiviert.
ist dies eine sinnvolle Lösung?
Eine weitere wäre eine Mausabfrage per javascript,
aber das möchte ich eigentlich vermeiden.
MfG Klange
Hallo,
Dann werde ich die beiden Divs in ein übergeordnetes
packen, über welches die hover-Abfrage läuft und die
beiden anderen entsprechend aktiviert/deaktiviert.
ist dies eine sinnvolle Lösung?
ja
Eine weitere wäre eine Mausabfrage per javascript,
aber das möchte ich eigentlich vermeiden.
Das ist gut, allerdings könntest du das noch zusätzlich machen, wenn du auch den IE >= 6 noch berücksichtigen willst.
Musste aber nicht ;-)
mfg. Daniel
Hallo,
Prinzipiell bin ich die Sache so angegangen:
#div1: hover {display:block;}
und
#div2: hover {display:none;}
passt aber anscheinend nicht zu deinen Anforderungen. s.u.
1: Die Anforderung ist ein verdecktes
Menü, auf welches durch einen Text
hingewiesen wird, der beim überfahren
durch das Menü ersetzt wird.
Vielleicht hilft dir da eher <http://de.selfhtml.org/css/layouts/navigationsleisten.htm#modern@title=das hier> weiter.
2: Warum ensteht ein Flimmern?
1. div:hover -> Element wird ausgeblendet
2. Hover verschwindet, da Element nicht mehr sichtbar
3. Element wird wieder eingeblendet
4. 1. tritt wieder in Kraft...
3: Was ist die beste Lösung für das
Problem.
Entweder findest du sie auf der verlinkten Seite, oder du solltest mal eine Beispielseite zur Verfügung stelen. evtl. auch ein wenig Quelltext (HTML+CSS), da ich mir leider nicht so ganz vorstellen kannst, was du willst.
[...]
Wozu zitierst du das Posting nochmal. Entweder du antwortest stückweise darauf, oder du löscht es einfach. Du solltest es aber nicht unten dranhängen.
mfg. Daniel