Diszkrét rollover vs. IE
Szevasztok, problémám a következő lenne:
adottak az alábbi Javascript függvények:Ez lényegében egy rollover effektet valósít meg az alábbiakhoz kódokban:, ahol az onmouseoverhez tartozó képek nevének végén az _on utótag van.
Opera és Firefox alatt működik is rendesen. IE alatt viszont nem, annak ellenére, hogy az IE Developer Toolbar szerint az onmouseout és onmouseover események rendesen hozzáadódnak (megfelelő értékekkel) az <a> taghez.
Vajon mi lehet a probléma?
■ adottak az alábbi Javascript függvények:
function getElementsByClass(name) {
var found = 0;
var elems = new Array();
var alltags = document.getElementsByTagName("*");
if (alltags) {
for (j=0; j < alltags.length; j++) {
if (alltags[j].className==name) {
elems[found++]=alltags[j];
}
}
}
return(elems);
}
function addEventHandler(obj, eventType, handler) {
if (window.opera && obj.addEventListener) {
obj.addEventListener(eventType, handler, false);
return true;
} else if (obj.addEventListener) {
obj.addEventListener(eventType, handler, true);
return true;
} else if (obj.attachEvent) {
var r = obj.attachEvent("on"+eventType, handler);
return r;
} else {
return false;
}
}
function mover() {
var outimgs = new Array;
var outimgsname = new Array;
var overimgs = new Array;
var over = getElementsByClass('over');
for (j=0; j < over.length; j++) {
outimgs[j] = new Image();
overimgs[j] = new Image();
outimgs[j].src = over[j].lastChild.src;
overimgs[j].src = over[j].lastChild.src.replace ('\.jpg','_on.jpg');
outimgsname[j] = over[j].lastChild.name;
over[j].setAttribute('onmouseover', 'document.images[\''+outimgsname[j]+'\'].src=\''+overimgs[j].src+'\';');
over[j].setAttribute('onmouseout', 'document.images[\''+outimgsname[j]+'\'].src=\''+outimgs[j].src+'\';');
}
}
addEventHandler(window,'load',mover);
<a href="#" class="over"><img src="elso.jpg" name="elso" alt="Első kép" /></a>
Opera és Firefox alatt működik is rendesen. IE alatt viszont nem, annak ellenére, hogy az IE Developer Toolbar szerint az onmouseout és onmouseover események rendesen hozzáadódnak (megfelelő értékekkel) az <a> taghez.
Vajon mi lehet a probléma?
:P IE alatt
lásd még http://weblabor.hu/forumok/temak/14569#comment-31914
üdv t
egyébként nem lett ez elbonyolítva ? :)
ui: Element.up/down/prev/next DOM navigációs metódusok, most kerültek bele a pr-be 4-5 napja http://script.aculo.us/downloads , $$ css kiválasztók már 2 hete :)
üdv t
De...
Egyébként ha jobban belegondolok ez az előtöltés nem is annyira létszükséglet (a képek pár kByte-osak csak).
Prototype nélkül így néz ki a mover függvény:
rollover, de min?
mellesleg rá kéne jönni már, hogy gyönyörü rollovert lehet mindenfele javascript meg egyéb trükkök (behaviorok és .htc fileok) nélkül is, csak CSS-el.
IE6-on csak horgonyra
http://www.webdevout.net/browser_support_css.php?uas=IE6-IE7-FX1_5-OP9#support-css2pseudoclasses-hover
htc-nélkül hogy raksz div-re hover-t? (elnézést Grétsy László nyelvőrúrtól és kollégáitól :) )
ki mondta...
azt mondtam, hogy rollovert csinalok. termeszetesen az <A>-ra rakom, mert IEben maskent nem menne. sot. meg atlatszo PNG-t is hasznalhatok ha jolesik, es ott se lesz se invalid css se javascript se behavior.
egyebkent az IE7 rol szolo hireket inkabb innen szerezd be:
http://blogs.msdn.com/ie/archive/2006/02/02/523679.aspx
"We enabled :hover on all elements, not just on <a> tag"
bocsánat
ezt
így
mellesleg rá kéne jönni már, hogy gyönyörü hovert lehet mindenfele javascript meg egyéb trükkök (behaviorok és .htc fileok) nélkül is, csak CSS-el.
elnézést :) [blush] igazad van természetesen
el van nezve :)
lécci példát!
pelda.
van egy pngfix.js az oldalon, de ahhoz semmi kozom, a menu az mukodik kikapcsolt jsel is: http://www.djace.com/
meg kell mondjam, hogy csak annyi a kozom az oldalhoz, hogy hasznalhatova tettem IE alatt is:) szoval keretik ne ez alapjan megitelni :D
a menu is pl egyaltalan nem vakbarat, meg ilyesmik..:)
mellesleg ennel meg lehet oldani szebben is, siettem meg minden:)
a kozeljovoben fogok kesziteni egy step-by-step xhtml/css leirast egy vizszintes png menuhoz, azt majd felteszem netre:) ez mar regi tervem, csak keves az ido... mondjuk most majd lesz ugy 1-2 heten belul
re
megnézted itt mi van?
http://www.webdevout.net/browser_support_css.php?uas=IE6-IE7-FX1_5-OP9#support-css2pseudoclasses-hover
az van hogy ugyan benne van IE7-ben, de pillanatnyilag egy nagy rakást se ér :P IE , majd akkor szóljál ha egy szép zöld pipát látsz ott, mint jobbra tőle fx, és opera alatt
ettől függetlenül majd ha lesz IE7 , mindenféle beta, és rc jelzés nélkül akkor derül ki, legyen igazad :)
üdv t
persze, hogy megneztem.