IE onmouseover gond
Az a problem hogy "animált" js-el akarom megoldani a menüzést az oldalamon a jelenlegi gif-es helyett.
http://buttonz.somnusoft.com
Csak ha a gomb fölé viszem az egeret ugyan elkezd animálni, de IE-ben visszavált sima nyilas kurzorra!
FF-ben nem csinálja ezt!
Olyanra gondoltam hogy egész dokumentumra átváltani a stílusban a kurzort hand-re majd vissza, de nemtudom hogy kell js-el ezt megoldani...
Valami javaslat?
Választokat előre is THX!
■ http://buttonz.somnusoft.com
Csak ha a gomb fölé viszem az egeret ugyan elkezd animálni, de IE-ben visszavált sima nyilas kurzorra!
FF-ben nem csinálja ezt!
Olyanra gondoltam hogy egész dokumentumra átváltani a stílusban a kurzort hand-re majd vissza, de nemtudom hogy kell js-el ezt megoldani...
Valami javaslat?
Választokat előre is THX!
cursor: hand a DIVre
cursor:hand
na
Ezt úgy kéne megcsinálni, hogy az onmouseout-ban valami késleltetés van, mondjuk 100 ms, vagy 10. Ha a késleltetés alatt újra az onmouseover kap vezérlést, az onmouseout timeout-ja megszakad. Vagyis az out-ot timeout-olni kell, az over-ben pedig ezt a timeout-ot megszakíttatni.
RE: késletetés
és most csinálom hogy működjön is!
így sem megy :S
úgyérzem ez minden váltásnál elcsesződne így nem váltogatni fogom hanem az összes képet egymásra teszem és vagy z-indexxel vagy a jól bevállt visible: none és visible:block -al oldom meg.
Mit szóltok hozzá?
Szerintetek így is villogni fog? :) Lehet fogadni!
még most sem jó!
és észrevettem hogy amikor a div hátterét változtatom meg, akkor váltja le a hand kurzort simára :S
próbálkoztam olyannal is hogy egész body-ra (document.body.style.cursor="hand";) rátettem a hand kurzort de akkor is átvált minden egyes háttérváltoztatásnál :S
valami más ötlet hogy ezt kiküszöböljem?
(UI: azért villogott neked FF2 ben is mert még nem töltte be az egyes képeket, de ezt egy elrejtett div-vel oldottam meg)
félig megoldva
document.getElementById(id).style.cursor="hand";
ezekkel stabilizáltam (naggyából) a sima pointerre való ugrást :S
vélemény?
villódzik még mindig
Nekem is volt ilyen problémám, méghozzá nem is képpel, hanem simán csak háttérszín-váltással, ahol egymásba foglalt blokkok közül az egyik felvette az eseményeket, és egy szülőeleme változott. Itt is ez a helyzet: az eseményeket az IMG-hez kötöd, a változás pedig egy 3-mal feljebbi konténerében történik. Valószínűleg nem a böngészők a hibásak, hanem a DOM eseménymodelljéből fakad a dolog. (Remélem, nem mondtam hülyeséget.)
A pointer-hand trükközésnek nincs értelme, a pointer a valid, és minden böngésző ismeri (és mindegy, hogy melyik elemet stilizálod vele).
Megpróbálhatod, hogy az eseményeket a konténerdiv-hez kötöd.
De az említett késleltetős workarounddal nagyon jól lehet kezelni ezt a dolgot. Az onmouseout-ot meghagyod úgy ahogy van, csak köré írod, hogy
Az onmouseover elejére pedig beírod:
kiegészítés
Most viszont az jutott eszembe, hogy itt folyamatos változásról van szó, ezért fontos lehet, hogy ha a clearTimeout sikeres, akkor ne fusson le újra az onmouseover. Azaz:
-----------
defer = setTimeout(function() {
/* az eredeti onmouseout kódja */
...
defer = false;
}, 100)
onmouseover
-----------
if (window.defer) {
clearTimout(defer);
return;
}
nemtudom...
lehet hogy maradok inkább a gifes megoldásnál, vagy flessben :)
amúgy js-hez lövésem sincs, csak itt ott olvasgattam róla :S
Nem sikerült
Flashsel célszerűbb valóban.
De valahol esetleg megtarthatnád, hátha érez valaki egy kis challenge-et.
css
... itt érdemes nézelődni.
http://users.hszk.bme.hu/~hj130/css/list_menu/index.html
hát hallod én is
sztem kiírom az oldalra csak ie7, ff és opera kompatibilis xD
a css-es megoldás meg nem egérkurzorra ment gondolom mert azon az oldalon nem találtam semmit egérhez.
az egerem ugyanúgy villog mintaz állat xD
az a gondolatmenet jóvolt hogy késleltetni az onmouseovert és onmouseoutot csak valahogy nemtudtam eljutni a megvalósításig :P sztem az kavar be főleg hogy ha egyik gombról a másikra ugrok egyből akkor nemtud visszaváltani az időzítés miatt :S ami viszont elég gáz.
szal még most sem vok előrébb, valszínű kiírom hogy ie7 ff2 opera8 ns nemtomhanyas kompatibilis oszt csá!
ezesetleg még olyat hogy ie6 bug miatt villog az egér használj firefoxot :) (bár nemszeretem tüzesrókát, maxthont használok)