Autor | Zpráva | ||
---|---|---|---|
DarkMeni Profil |
#1 · Zasláno: 8. 6. 2011, 19:32:17
Zdravím, chtěl jsem funkci která by ukázala přerozměrovaný obrázek v originální velikosti při přejetí toho obrázku myší, a po odjetí aby ten obrázek v originální velikosti zmizel, zkoušel jsem to tímto:
//Create Original Screen Images: var Images = document.getElementsByTagName("img"); for(IMG=0;IMG < Images.length;IMG++){ Image = Images[IMG]; if(Image.src!=""&&Image.alt!="turncated"){ Image.imgid = "IMG_"+IMG; document.getElementsByTagName("body")[0].innerHTML += "<div id='"+Image.imgid+"' style='disply:none;position:absolute;'><img src='"+Image.src+"' /></div>"; Image.onmouseover = function(Event){ alert(Event.target.imgid); var ImgDiv = document.getElementById(Event.target.identify); ImgDiv.style.top = (Event.pageX+20)+"px"; ImgDiv.style.left = Event.pageY+"px"; ImgDiv.style.display = "block"; } Image.onmouseout = function(Event){ var ImgDiv = document.getElementById(Event.target.imgid); ImgDiv.style.display = "none"; } } } Jenže to mi zasekne počítač jako kdyby jsem z toho udělal nekonečný cyklus, což není pravda, měl jsem tam asi jen tři obrázky a pro ty ostatní to nemělo platit páč měly prázdný alt. Po chvíli jsem přišel na to že to je kvůli řádku s vypsáním skrytého Divu s tím obrázkem do těla stránky. Věděl by někdo proč mi to zasekne počítač a vznikne nekončící skript? |
||
_es Profil |
#2 · Zasláno: 8. 6. 2011, 19:57:23
DarkMeni:
Tipujem, že problémom bude v mnohých prehliadačoch príkaz v riadku 7 - pridávaj elementy inak. „jako kdyby jsem z toho udělal nekonečný cyklus, což není pravda“ Čo teda pravda je a je to vidno aj len z rýchleho nahliadnutia do kódu. Testuješ počet obrázkov a v cykle jeden pridávaš, teda premenná IMG počet obrázkov nedobehne.
Nepotrebuješ každému elementu vyrábať extra funkciu, stačí ti jedna, podobne ako tu. Na všetky premenné použi príkaz var (http://diskuse.jakpsatweb.cz/?action=vthread&forum=8&topic=106539#var).
|
||
Časová prodleva: 13 let
|
0