webForumDet fria alternativet

document.all

JavaScript

2 svar · 203 visningar · startad av nordan

Medlem sedan juni 2000949 inlägg
Frågan#1

Hej!
Om jag kolla vilken typ av sånt här document.all eller vad det nu skall vara. Med denna kod:

if(document.all)
{
	block = "document.all";
}
else if(document.layers)
{
    block = "document.layers";
}
else if(document.getElementById)
{
    block = "document.getElementById";
}

Där ger jag ju block ett värde
Det jag vill göra nu är att använda block till denna kod :

function make_lager()
{
for(i; i<bilar.length; i++)
	{
		document.write("<div id=\"menylager"+i+"\"><a href=\"#\">"+bilar[i]+"</a></div>");
		var lager = "menylager"+i;
		var leftlagerbredd = "menylager"+(i-1);
		
		if(lager == "menylager0")
		{
		     [B]document.all[/B][lager].style.pixelLeft =100;
		}
		else
		{
	                      leftplacering = [B]document.all[/B][leftlagerbredd].offsetWidth+[B]document.all[/B][leftlagerbredd].offsetLeft;
			[B]document.all[/B][lager].style.pixelLeft = leftplacering;
		}

}

Hur gör jag då för att använda block istället för att jag skall använda mig av document.all Jag har markerat några ställen i koden där jag till exempel skulle vilja byta ut koden till block men ha resten kvar. Jag kanske tänker fel? Ni kanske har nått bättre tipz om hur jag kan göra koden mera dynamisk :q
Hoppas någon förstår frågan :l

Medlem sedan juni 20004 308 inlägg
#2

Du börjar tänka som en programmerare :) Men tyvärr är det inte riktigt så enkelt. För att positionera ett lager med gammal Netscape-DOM använder du document.layers["lagerId"].left medans med w3c-DOM blir det document.getElementById("lagerId").style.left Dessutom har inte alla egenskaper samma namn. Enklast är att skriva ett eget crossbrowser-bibliotek med de funktioner som du vill kunna använda, eller ta ett som någon har börjat på :)

Medlem sedan juni 2000949 inlägg
#3

Tack för hjälpen :D Nu har jag kommit en bra bit på väg mot mitt mål men menyerna :D

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)