Avatar billede flashnoob Nybegynder
24. september 2005 - 17:44 Der er 5 kommentarer og
1 løsning

Hjælp til at skrive et simpelt script om.

Hej.
Jeg har fundet et script her på eksperten ( http://eksperten.dk/spm/356709 ) Det script der bliver omtalt får en frame til at scrolle vha et link i en anden frame. Jeg har fået scriptet til at virke på min side hvor jeg bruger Iframes.
Mit problem er så at jeg har 3 Iframes og vil gerne bruge scriptet på alle 3 Iframes.
Er der nogen derude der kan hjælpe med at skrive scriptet om?

======= Scriptet =====

<script>
var catchW = false
function scrollFrame(var1){
if (var1 == "stop"){
clearInterval(timer);
catchW = false;
}
if (var1 == "ned" && !catchW){
timer = setInterval('nedad();',50)
catchW = true;
}
if (var1 == "op" && !catchW){
timer = setInterval('opad();',50)
catchW = true;
}
}

function nedad(){
parent.frames['main'].scrollBy(0,10);
}

function opad(){
parent.frames['main'].scrollBy(0,-10);
}
</script>
</head>

<body>
<a href="#" onmouseover="scrollFrame('ned');" onmouseout="scrollFrame('stop');">nedad</a>
<a href="#" onmouseover="scrollFrame('op');" onmouseout="scrollFrame('stop');">opad</a>
</body>
Avatar billede softspot Forsker
24. september 2005 - 19:33 #1
Hvis de ikke skal scrolle synkront, kunne du f.eks. lave en global variabel som holdte navnet på den frame som aktuel skal scrolle.


<script>
var catchW = false
var currentFrame = "";

function scrollFrame(var1){
  if (var1 == "stop"){
    clearInterval(timer);
    catchW = false;
    currentFrame = "";
  }
  if (var1 == "ned" && !catchW){
    timer = setInterval('nedad();',50)
    catchW = true;
    if(arguments.length > 1) currentFrame = arguments[1];
  }
  if (var1 == "op" && !catchW){
    timer = setInterval('opad();',50)
    catchW = true;
    if(arguments.length > 1) currentFrame = arguments[1];
  }
}

function nedad(){
  if(currentFrame != "")
    parent.frames[currentFrame].scrollBy(0,10);
}

function opad(){
  if(currentFrame != "")
    parent.frames[currentFrame].scrollBy(0,-10);
}
</script>
</head>

<body>
<a href="#" onmouseover="scrollFrame('ned','frame1');" onmouseout="scrollFrame('stop');">nedad</a>
<a href="#" onmouseover="scrollFrame('op','frame1');" onmouseout="scrollFrame('stop');">opad</a>
<a href="#" onmouseover="scrollFrame('ned','frame2');" onmouseout="scrollFrame('stop');">nedad</a>
<a href="#" onmouseover="scrollFrame('op','frame2');" onmouseout="scrollFrame('stop');">opad</a>
</body>
Avatar billede flashnoob Nybegynder
24. september 2005 - 19:49 #2
Ja, Du gjorde det igen!! :) Det virker. pointsne er dine.
Jeg har lige et side spørgsmål, men ved ikke om det er for bøvlet. Hvordan kan man få f.eks. frame 2 til at scrolle horisontalt?
Avatar billede softspot Forsker
24. september 2005 - 19:55 #3
Jeg vil umiddelbart tro at det er sådan (kan dog godt være du skal bytte scrollværdierne rundt i venstre- og hoejre-funktionerne :)):

<script>
var catchW = false
var currentFrame = "";

function scrollFrame(var1){
  if (var1 == "stop"){
    clearInterval(timer);
    catchW = false;
    currentFrame = "";
  }
  if (var1 == "ned" && !catchW){
    timer = setInterval('nedad();',50)
    catchW = true;
    if(arguments.length > 1) currentFrame = arguments[1];
  }
  if (var1 == "op" && !catchW){
    timer = setInterval('opad();',50)
    catchW = true;
    if(arguments.length > 1) currentFrame = arguments[1];
  }
  if (var1 == "venstre" && !catchW){
    timer = setInterval('venstre();',50)
    catchW = true;
    if(arguments.length > 1) currentFrame = arguments[1];
  }
  if (var1 == "hojre" && !catchW){
    timer = setInterval('hoejre();',50)
    catchW = true;
    if(arguments.length > 1) currentFrame = arguments[1];
  }
}

function nedad(){
  if(currentFrame != "")
    parent.frames[currentFrame].scrollBy(0,10);
}

function opad(){
  if(currentFrame != "")
    parent.frames[currentFrame].scrollBy(0,-10);
}

function venstre(){
  if(currentFrame != "")
    parent.frames[currentFrame].scrollBy(-10,0);
}

function hoejre(){
  if(currentFrame != "")
    parent.frames[currentFrame].scrollBy(10,0);
}
</script>
</head>

<body>
<a href="#" onmouseover="scrollFrame('ned','frame1');" onmouseout="scrollFrame('stop');">nedad</a>
<a href="#" onmouseover="scrollFrame('op','frame1');" onmouseout="scrollFrame('stop');">opad</a>
<a href="#" onmouseover="scrollFrame('venstre','frame2');" onmouseout="scrollFrame('stop');">nedad</a>
<a href="#" onmouseover="scrollFrame('hoejre','frame2');" onmouseout="scrollFrame('stop');">opad</a>
</body>
Avatar billede softspot Forsker
24. september 2005 - 19:56 #4
Aaarh ok, ledeteksten til venstre og højre skal nok lige ændres (fra nedad og opad)... sorry :|
Avatar billede flashnoob Nybegynder
24. september 2005 - 20:01 #5
amen, det er jo smukt! 1000 tak for hjælpen.
Avatar billede softspot Forsker
24. september 2005 - 20:05 #6
Velbekomme og tak for point :)
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