webForumDet fria alternativet

Ändra text i ett layer...

10 svar · 274 visningar · startad av fundersam

fundersamMedlem sedan aug. 2002101 inlägg
#1

Hur gör jag om jag vill ändra texten i ett layer med ett onmouseover? typ

<a onmouseover="document.lager.write('eller?');">

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Titta på funktionen writeToLayer() i layerlib.js.

fundersamMedlem sedan aug. 2002101 inlägg
#3

tackar =)

fundersamMedlem sedan aug. 2002101 inlägg
#4

det funkar ej... vet någon nåt annat sätt...?

colioneMedlem sedan juni 20014 421 inlägg
#5

Har du laddat hem layerlib.js från jojoxx sida?

fundersamMedlem sedan aug. 2002101 inlägg
#6

aa, det har jag... men jag vill inte sno hans script... + det funkar itne =) (Säkert jag som gjort fel... men ändå... gärna andra sätt tack !)

JojoxxMedlem sedan juni 20004 308 inlägg
#7

Att det inte fungerar kan bero på att du har något annat knas i html-koden som gör att scriptet inte fungerar, och då spelar det ingen roll vilket script du använder. Här är ett exempel;

<div id="foo" style="position:absolute;top:50px;left:50px;"></div>
<script language="JavaScript" type="text/javascript" src="layerlib.js"></script>
<script language="JavaScript" type="text/javascript">
writeToLayer('foo','Happy hardcore!');
</script>

Det du måste tänka på är att lagret måste finnas innan du skriver till det. Du kan ex. inte lägga JavaScript-koden innan själva html-koden för lagret kommer, av uppenbara skäl. För att vara säker kan du skriva dina saker via onLoad som inträffar när allt på sidan laddat klart;

<body onLoad="writeToLayer('foo','Happy hardcore!');">
<div id="foo" style="position:absolute;top:50px;left:50px;"></div>
<script language="JavaScript" type="text/javascript" src="layerlib.js"></script>
TheefMedlem sedan sep. 2002100 inlägg
#8

Eller så kan du bara använda:

document.getElementById("layern").innerHTML="Vad det ska stå..."
JojoxxMedlem sedan juni 20004 308 inlägg
#9

Skillnaden är att ovanstående bara fungerar i DOM-kompatibla läsare.

fundersamMedlem sedan aug. 2002101 inlägg
#10

måste layern vara postion:absolute eller?! För jag har faktiskt skapat ett layer... helt dum e man väl inte *sigh*

JojoxxMedlem sedan juni 20004 308 inlägg
#11

Definitionen på lager är att fritt flytande block som inte är knutet till det ordinarie sid-flödet. Det får du genom att använda position:absolute; (Sedan har Netscape 4 ett gammalt element vid namn <layer>, men det rekommenderar de inte ens själva att använda, en div med position:absolute är mer kompatibelt och är att föredra).

Fördelen med att skriva till lager är att det även fungerar i Netscape 4. DOM-varianten som Theef nämmde fungerar även om elementet i fråga inte är ett lager. Där kan du alltså ändra en text-sträng mitt i ett text-flöde, oavsett var det ligger. Detta fungerar dock inte i Netscape 4/IE4.

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)