10. marts 2003 - 21:57Der er
12 kommentarer og 1 løsning
innerHTML giver fejl (tror jeg)..
Har flg. script...
<SCRIPT> function doQuake(n) { if (self.moveBy) { Quake.style.visibility = ''; for (i = n; i > 0; i--) { self.moveBy(0,i); self.moveBy(i,0); self.moveBy(0,-i); self.moveBy(-i,0); } }
Quake.style.visibility = 'hidden'; }
function Quake(text) { Quake = document.getElementById("QUAKE");
<div onclick="Quake('QUAKE!!!!!');">QUAKE!!</div> <div onclick="Quake('AFFE!!!!');">AFFE</div> ------------------------------------------------- Problemet er bare at scriptet kun virker EN gang! så skal siden reloades hvis man vil bruge det igen..
<html><body> <SCRIPT> var QuakeTO; function doQuake(n) { if (self.moveBy) { dQuake.style.visibility = ''; for (i = n; i > 0; i--) { self.moveBy(0,i); self.moveBy(i,0); self.moveBy(0,-i); self.moveBy(-i,0); }
} if (n<=0) { clearTimeOut(QuakeTO); } dQuake.style.visibility = 'hidden'; }
function Quake(text) { dQuake = document.getElementById("QUAKE");
linie 31 = <div onclick="Quake('AFFE!!!!');">AFFE</div>
Synes godt om
Slettet bruger
10. marts 2003 - 22:21#6
Derudover er denne linje mærkelig:
setTimeout("doQuake(160);",1);
Bør nok bare være:
doQuake(160);
Og så skriver du:
Quake.style.visibility = '';
... to gange. Det er overflødigt. Sidst med ikke mindst kan funktionen doQuake ikke tilgå den Quake variabel, som du har sat i funktionen Quake, da den er lokal (grunden til, det virker, er, at IE går med til en sløset programmering). Alt i alt ville jeg omskrive det til dette:
<script> function quake(txt, n) { document.getElementById("QUAKE").innerHTML = txt; document.getElementById("QUAKE").style.visibility = "visible"; if (self.moveBy) { for (i = n; i > 0; i--) { self.moveBy(0,i); self.moveBy(i,0); self.moveBy(0,-i); self.moveBy(-i,0); } } document.getElementById("QUAKE").style.visibility = "hidden"; } </script>
der er dog stadig et problem med din løsning phoenixv; Texten bliver aldrig synlig ved dit eksempel..
Synes godt om
Slettet bruger
10. marts 2003 - 22:50#8
Det har du ret i. Det skyldes en fejl i browserens afviklingsrækkefølge. Men før jeg gør i kast med at "lappe hullerne", så bør du nok overveje, om du i virkeligheden ønsker denne effekt. Jeg lover dig i hvert fald, at hvis jeg nogensinde kommer ind på sådan en side her, så besøger jeg den aldrig igen! :)
Mit eksempel virker altså fint. (også selv om jeg fik sat en cleartimeout ind, da jeg endnu engang fik forvekslet timeout og intervel.
<html><body> <SCRIPT> var QuakeTO; function doQuake(n) { if (self.moveBy) { dQuake.style.visibility = ''; for (i = n; i > 0; i--) { self.moveBy(0,i); self.moveBy(i,0); self.moveBy(0,-i); self.moveBy(-i,0); }
} dQuake.style.visibility = 'hidden'; }
function Quake(text) { dQuake = document.getElementById("QUAKE");
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.