Avatar billede figora Nybegynder
13. marts 2004 - 19:39 Der er 4 kommentarer og
1 løsning

hjælp til at stoppe flyvende layer

Jeg har fundet det her script, og lavet lidt om på det, men jeg vil gerne have at når jeg beværer musen over div’en så stopper dem og når jeg fjerner den begynder den igen, hvordan gør jeg det???

script:

<html>
<head>
<SCRIPT language=JavaScript>

count=0;                                                   
move=1;

function Curve(){
abc=new Array(0,1,1,1,2,3,4,0,6,-1,-1,-1,-2,-3,-4,0,-6)
for (i=0; i < abc.length; i++)
{var C=Math.round(Math.random()*[i])}
howbend=abc[C];
setTimeout('Curve()',1900);
return howbend;
}
ypos=10;
xpos=10;

degree = 60;
function MoveRandom(){
PathBend=degree+=howbend;//ok!
y = 4*Math.sin(PathBend*Math.PI/180);
x = 6*Math.cos(PathBend*Math.PI/180);
if (document.layers){
ypos+=y;
xpos+=x;
document.flywin.top=ypos+window.pageYOffset;
document.flywin.left=xpos+window.pageXOffset;
}
else if (document.all){
ypos+=y;
xpos+=x;
document.all.flywin.style.top=ypos+document.body.scrollTop;
document.all.flywin.style.left=xpos+document.body.scrollLeft;
}
setTimeout('MoveRandom()',50);
}
function edges(){
if (document.layers){
if (document.flywin.left >= window.innerWidth-40+window.pageXOffset)degree=Math.round(Math.random()*45+157.5);
if (document.flywin.top >= window.innerHeight-30+window.pageYOffset)degree=Math.round(Math.random()*45-112.5);
if (document.flywin.top <= 2+window.pageYOffset) degree = Math.round(Math.random()*45+67.5);//OK!
if (document.flywin.left <= 2+window.pageXOffset) degree = Math.round(Math.random()*45-22.5);//OK!
}
else if (document.all)
{
if (document.all.flywin.style.pixelLeft >= document.body.offsetWidth-45+document.body.scrollLeft)degree=Math.round(Math.random()*45+157.5);
if (document.all.flywin.style.pixelTop >= document.body.offsetHeight-35+document.body.scrollTop)degree=Math.round(Math.random()*45-112.5);
if (document.all.flywin.style.pixelTop <= 2+document.body.scrollTop) degree = Math.round(Math.random()*45+67.5);//OK!
if (document.all.flywin.style.pixelLeft <= 2+document.body.scrollLeft) degree = Math.round(Math.random()*45-22.5);//OK!
}
setTimeout('edges()',100);
}
function starteffect(){

Curve();
MoveRandom();
edges();

}

if (document.all||document.layers);
window.onload=starteffect

</SCRIPT>

</HEAD>
<BODY>
<div id="flywin" style="position:absolute; top:10px; left:10px; width:115px; height:137px; z-index:50">tekst</div>
</BODY>
</HTML>
Avatar billede roenving Novice
13. marts 2004 - 19:54 #1
-- meget flot script, da det blev lavet i slutningen af 90'erne, men den virker jo ikke overfor de almindelige browsere, bortset fra IE (og Opera !-)

Det vil kræve noget tilpasning først at få den til at være cross-browser, som den intenderer, men ikke er !o] og derefter skal der være en tænd-sluk-mekanisme, som heller ikke er lige sådan, når der nu kører flere forskellige cykler !-)

Jeg ville kigge lidt mere og finde et moderne script !o]
Avatar billede thesurfer Nybegynder
13. marts 2004 - 19:57 #2
Eksempel (disse linier erstatte de gamle):

count=0;
move=1;
flyt = true;

setTimeout('if (flyt) MoveRandom()',50);

<div id="flywin" onmouseover="flyt=false;" onmouseout="flyt = true;MoveRandom()" style="border: 1px solid #000000;position:absolute; top:10px; left:10px; width:115px; height:137px; z-index:50">tekst</div>
Avatar billede figora Nybegynder
14. marts 2004 - 12:44 #3
Oki... Roenving, kender du et sted hvor jeg kan finde et mere moderne script, da?
Avatar billede figora Nybegynder
14. marts 2004 - 12:55 #4
Thesurfer vil du lige svar på den her så du kan få dine point
Avatar billede thesurfer Nybegynder
14. marts 2004 - 15:54 #5
OK, det gør jeg så :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester