Avatar billede korfits Nybegynder
11. juni 2005 - 15:35 Der er 5 kommentarer og
1 løsning

få links til at køre hen over skærmen

hej.

Skal bruge et script som får en nrække links til at køre hen over skærmen (vandret) når musen føres op på et link, skal rækken stoppe med at bevæge sig, til musen fjernes igen.
Avatar billede roenving Novice
11. juni 2005 - 15:49 #1
Måske sådan:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Marquee</title>
<meta name="Generator" content="Stone's WebWriter 4">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="keywords" content="olebole,roenving,http://www.eksperten.dk/spm/543017">
<style type="text/css">
.scroller {
    font-family: verdana, arial, sans-serif;
    font-size: 10px;
    font-weight: bold;
    position: absolute;
    overflow: hidden;
    white-space: nowrap;
}
</style>
<script type="text/JavaScript">
var marqNum,marqDelay,marqScrllAmnt,marq,marqCont,d=document,timer;
function gE(id){return (d.all)?d.all[id]:d.getElementById(id)}
function pI(str){return parseInt(str)}

marqNum = 0;
var marqTxt = ["<a href='...'>Link 1</a>","<a href='...'>Link 2</a>","<a href='...'>Link 3</a>&nbsp;<a href='...'>Link 4</a>"];
marqDelay = 1;
marqScrllAmnt = 1;

function scrollMarq() {
    if (pI(marq.style.left)+marq.offsetWidth < 0) {
        marq.style.left = marqCont.offsetWidth + "px";
        marqNum = (marqNum+1)%marqTxt.length;
        marq.innerHTML = marqTxt[marqNum];
    }
    marq.style.left = pI(marq.style.left) - marqScrllAmnt + "px";
}
function stopMarq(){
  clearInterval(timer);
}
function restartMarq(){
  timer = setInterval("scrollMarq()", marqDelay);
}
function startMarq() {
    gE("myMarquee").innerHTML = '<div class="scroller"></div>';
    marqCont = (d.all)? gE("myMarquee").children[0] : gE("myMarquee").childNodes[0];;
    marqCont.style.width = "100%";
    marqCont.innerHTML = '<span style="position:relative;" onmouseover="stopMarq();" onmouseout="restartMarq();"></span>';
    marq = (d.all)? marqCont.children[0] : marqCont.childNodes[0];
    marq.innerHTML = marqTxt[marqNum];
    marq.style.left = marqCont.offsetWidth + "px";
    marqCont.style.height = marq.offsetHeight + "px";
    timer = setInterval("scrollMarq()", marqDelay);
}
window.onload = startMarq;
</script>
</head>
<body>

<!-- MARQUEE START -->
<div id="myMarquee" style="position:relative"></div>
<!-- MARQUEE END -->

</body>
</html>

-- den er bl.a. lavet til at understøtte mange marquees, men der behøver kun at være een lang streng af links i marqTxt !-)
Avatar billede korfits Nybegynder
21. juni 2005 - 16:38 #2
Den er god, men ville gerne have dem til at køre i en linie efter hinanden, ikke en af gangen. Hvor ændre man forresten hastigheden ?
Avatar billede roenving Novice
21. juni 2005 - 16:42 #3
Så laver du bare alle links som een lang tekst-streng med mellemrum i ...

-- og du skal bare øge marqScrlAmnt !-)
Avatar billede korfits Nybegynder
07. august 2005 - 11:17 #4
nåår ja selvfølgelig. Poster du lige et svar ?
Avatar billede roenving Novice
07. august 2005 - 11:44 #5
Oki '-)
Avatar billede roenving Novice
31. oktober 2005 - 00:53 #6
-- 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