01. juli 2005 - 14:31Der er
24 kommentarer og 1 løsning
scroll funktion
Hej, Jeg har brug for en scroll funktion på min hjemmeside.
Den skal bestå af 2 pile ( helt almindelige i sort/grå og ikke noget fancy ), en for up og en for down. De skal være pladseret på hvert sit sted på den samme side som ligger i en tabel. Herfra skal man kunne scrolle på en anden side som ligger i en anden tabel/Iframe.
Er den en der kan hjælpe mig med et sript til sådan en funktion?
Jeg har nu fået lavet en scroll funktion. Jeg bruger tabeller med iframes i sig på min side. Jeg vil gerne hvis mine pile kan ligge i den ene tabel og når man så trykker på dem, så scroller man i den anden tabel/iframe.
dette er koden for den "pile" som man scroler op med. Altså den som skal ligge i en anden tabel formoder jeg. Men hvordan får jeg så den til at peje på den tabel som jeg vil scrolle?
Prøv at lege med dette script. Jeg bruger onclick, for så er det nemmere for dig at se hvad der sker, mens du eksperimenterer. Der er ikke indsat nogen "stopper", når dit iframe kommer for langt op eller ned. Det kan du nok selv finde ud af.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Moving Iframe</title> <script> function moveup() { var id=window.document.getElementById("ifram") var top=parseInt(id.style.top) id.style.top=(top-4)+"px" } function movedown() { var id=window.document.getElementById("ifram") var top=parseInt(id.style.top) id.style.top=(top+4)+"px" } </script> </head> <body> <table border="1"> <tr><td width="90%" rowspan="2"><div id="ifram" style="position: relative; top: 0px;">scrolling iframe</div></td><td width="10%"><button onclick="moveup()">UP</button></td></tr> <tr><td><button onclick="movedown()">DOWN</button></td></tr> </table> </body> </html>
Det kan klares uden alt det <div> tingeltangel. Det kræver to ting at få den til at gøre det ved en iframe: At iframen navn er IFR eller at du ændrer functionen
plazm skriver: > Det kan klares uden alt det <div> tingeltangel.
Nå, og hvorfor er dit <timeOut> tingeltangel så bedre? [Forresten var dit første udkast rigtig flot.]
Denne kommentar er ikke en krigerisk protest. Dit script er formentlig glimrende. Det må bagnavnet afgøre. - Jeg har blot vist den ønskede opbygning, nemlig noget, der ligner to uafhængige tabeller ved siden af hinanden. Sæt border="0", så tror brugerne det er dét de ser.
Per, det var nu ikk ment som et angreb på dig, men hvorfor skrive, xx antal linier mere javascript og arbejde på at lave det crossbrowser, når 7 linier er nok. Desuden er der jo det problem med div er at du ikk man markere ned eller op af siden uden at scriptet går i kage, da "top" ikke bliver ændret når du markerer.
bagnavnet jo det kan de godt, bare du husker at ændre linkene så ;) <a href="#" onmouseover="tekstleft.scrollme(0,-1);" onmouseout="tekstleft.noscroll();" onclick="return false">[/\]</a>
s1 og s2 er bare 2 variabler og de skal ikke nødvendigvis hedde s1 og s2, men scroll1 og scroll2 var for langt ;) Du skal ikke omdøbe dem, bare sætte det script ind på samtlige sider du viser i Iframen.
som du kan se i linket <a href="#" onmouseover="ifr.scrollme(0,-1);" onmouseout="ifr.noscroll();" onclick="return false">[/\]</a> så har jeg (0,-1) hvor 0 er den verticale forskydning og -1 den horrisontale.
selfølgelig skulle jeg vende de sidste to om. hvor 0 er den verticale forskydning og -1 den horrisontale. skal være hvor -1 er den verticale forskydning og 0 den horrisontale.
ok, jeg har nu sat dine scrips ind i mine dokumenter. I dokumentet "news" som loades ind i min ene iframe har jeg: -------------- <script language="JavaScript1.2"> function scrollme(s1,s2) { window.scrollBy(s1,s2); scrolldelay = setTimeout('scrollme('+s1+','+s2+')',10); } function noscroll() { clearTimeout(scrolldelay); } </script>
og i min anden iframe/table hvor jeg skal have scroll knapperne pladseret har jeg: -------------------------------- <a href="#" onmouseover="tekstleft.scrollme(0,-2);" onmouseout="tekstleft.noscroll();" onclick="return false">[/\]</a> og <a href="#" onmouseover="tekstleft.scrollme(0,2);" onmouseout="tekstleft.noscroll();" onclick="return false">[\/]</a>
kun disse 2 da jeg kun skal bruge op og ned.
i min menu, hvor jeg linker til siderne har jeg angivet navnet på iframen til at være tekstleft.
Men, jeg kan ikke få det til at virke, kan du se om der skulle være en fejl et sted? Eller er der noget jeg har glemt?
det jeg selv undrer mig over er hvordan de 2 sider er forbundet med hinanden? Hvordan kan <a href="#" onmouseover="parent.tekstleft.scrollme(0,2);" onmouseout="parent.tekstleft.noscroll();" onclick="return false">[\/]</a>
se den side som den skal scrolle? Den henviser til iframen, men ikke til selve siden?
ok, her har du de relevante tabeller og iframes fra forsiden: tabel/iframe hvor scroll-knapperne skal være, altså blankscroll dok. .... <td rowspan="7"><iframe src="HOME/blankscroll.htm" name="leftmain" width="80" border=0 frameBorder=0 marginwidth="0" marginheight="0" scrolling="no"></iframe></td> ... tabel/frame som skal scrolles: ... <td rowspan="3" width="370" height="400"><iframe src="HOME/newsDK.htm" name="tekstleft" width="370" height="400" border=0 frameBorder=0 marginwidth="0" marginheight="0" scrolling="no"></iframe></td>
hehe ups, det må du sgu undskylde. Det er fordi jeg har det kørende på en anden pc og så satte jeg lige min lid til blindskriften...det skulle jeg ikke have gjort. Hvorfor skal det også være så præcist det java?;-) Tusind tak for hjælpen, det virker nu, fremragende arbejde. Tak!
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.