Autor Zpráva
DarkMeni
Profil
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
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).

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0