Autor | Zpráva | ||
---|---|---|---|
Pan X Profil |
#1 · Zasláno: 9. 8. 2009, 12:28:46 · Upravil/a: Pan X
Zdravím, narazil jsem na jeden problém a nevím si sním rady.
Mám div: <div class="item" onmouseover="fade('pavel-novak-pavel-novak-de');" onmouseout="fadeout('pavel-novak-pavel-novak-de');"> <img src="images/no_photos.jpg"> <p class="name"><strong>Pavel Novák</strong></p> <p class="desc">Proin a nunc augue, vel posuere nulla. Etiam tempus, purus nec ultricies tristique, massa massa viverra lorem, vel lacinia nisi risus non lectus. Suspendisse eget odio quam, pretium pretium nibh. Nam diam elit.</p> <menu id="pavel-novak-pavel-novak-de" style="opacity: 0"> <li><p><a href="#">Zobazit profil</a></p></li> <li><p><a href="#">Upravit kontakt</a></p></li> <li><p><a href="#">Smazat kontakt</a></p></li> </menu> </div> a script: <script> function fade(idecko){ x=0; while(x<10) { x++; y=30*x; window.setTimeout("document.getElementById('" + idecko + "').style.opacity="+(x/10),y); } } function fadeout(idecko){ x=10; while(x>0) { x--; y=30*(10-x); window.setTimeout("document.getElementById('" + idecko + "').style.opacity="+(x/10),y); } } </script> Všechno funguje OK, ale když přes ten div myší pohybuji divně to bliká a já nevím jak to opravit. |
||
_es Profil |
#2 · Zasláno: 9. 8. 2009, 13:41:56
V IE8 to nefunguje vôbec.
Používaš globálne premenné x a y, ktoré si tie dve funkcie navzájom stále prepisujú. Bol to úmysel? Pozri si, čo je najlepšie predávať do setTimeout, nájdeš tu na to veľa príkladov. |
||
Pan X Profil |
#3 · Zasláno: 9. 8. 2009, 19:52:13
_es
Promiň, ale nějak jsem nepochopil co si tím chtěl říct |
||
_es Profil |
#4 · Zasláno: 9. 8. 2009, 20:17:20 · Upravil/a: _es
Pan X
Ktorý z tých troch riadkov si nepochopil? V tom poslednom som konkrétnejšie myslel prvý argument setTimeout. Myslíš, že bez toho odkazu na problém, ktorý si zmazal, ti bude niekto ochotnejší poradiť? |
||
Aichi Profil |
#5 · Zasláno: 10. 8. 2009, 17:52:03
to bude tím, že ti onmouseover nastane i kdyz v tom divu najedeš na tag menu, img, nebo p. Pokud nebudeš navěšovat ty dvě funkce přes addEventListener/attachEvent, tak s tím nic moc neuděláš. Pokud ano, v objektu event je vlastnost target/srcElement, která udává na jaké elementu vznikla. Takže ti bude ta událost bublat do toho DIVu a ty si jednoduchým porovnám v onmouseout zjistíš, zda vznikla na divu nebo jinde a podle toho se zachováš.
|
||
Časová prodleva: 7 dní
|
|||
Chamurappi Profil |
#6 · Zasláno: 17. 8. 2009, 10:49:08
Reaguji na Aichiho:
„Pokud nebudeš navěšovat ty dvě funkce přes addEventListener/attachEvent, tak s tím nic moc neuděláš. Pokud ano, v objektu event je vlastnost target/srcElement, která udává na jaké elementu vznikla.“ K té vlastnosti se může úplně stejně dostat i bez použití přiřazovacích metod, stačí předat event jako argument přímo v HTML atributu (a tím rovnou setře jednu nekompatibilitu prohlížečů). |
||
Časová prodleva: 15 let
|
0