08. juni 2005 - 15:54Der er
7 kommentarer og 1 løsning
'shake' delay
Hejsa...
Jeg skal bruge et "Shake" script der kan ryste browseren lidt... Selve "shake" scriptet har jeg i og for sig fundet... Men jeg syntes det køre for stærkt...
<SCRIPT LANGUAGE="JavaScript1.2"> <!-- function shake(n) { shake_xy(n,true,true); }; function shake_xy(n,h,v) { for (i = 40; i > 0; i--) { for (j = n; j > 0; j--) { if ( h ) top.moveBy(i,0); if ( v ) top.moveBy(0,i); if ( h ) top.moveBy(-i,0); if ( v ) top.moveBy(0,-i); } } } // --> </SCRIPT>
Er der en løsning ala noget delay(33) man kan sætte ind mellem top.moveBy linierne for at styre hastigheden mellem moveBy trinene ??
Der findes ikke en delay-ting i javascript, så man skal meget længere omkring, nemlig lægge de forskellige stumper i selvstændige funktioner og så kalde dem dem via en setTimeout !-)
-- men er det ikke en irriterende ting for brugerne ?-)
-- det var måske også nærmere sådan noget, jeg havde tænkt på !-)
<script type="text/javascript"> function shake(n){ n = 10; shake_xy(n,true,true); } function shakein(i,h,v){ if ( h ) top.moveBy(i,0); if ( v ) top.moveBy(0,i); } function shakeout(i,h,v){ if ( h ) top.moveBy(-i,0); if ( v ) top.moveBy(0,-i); } function shake_xy(n,h,v) { for (i = 40; i > 0; i--) { for (j = n; j > 0; j--) { setTimeout('shakein(' + i + ',' + h + ',' + v + ')', n*33*(40-i) + (n-j)*33); setTimeout('shakeout(' + i + ',' + h + ',' + v + ')', n*33*(40-i) + (n-j)*33 + 33); } } } window.onload = shake; </script>
Well Jeg kan ikke få hastigheden til at fungere... Så må lige studdere noget mere på det område :o/ Jeg vil gerne have lukket spørgsmålet igen så hvis I vil have point må I lige lægge et svar.. Ellers napper jeg dem selv om et par dage ;o)
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.