Avatar billede smackers Nybegynder
09. august 2007 - 17:29 Der er 2 kommentarer og
1 løsning

husk variabel efter sideskift

På mit site har jet et JS der skifter en linie tekst hvert 3. sekund, a'la en nyhedsticker. Hver gang man klikker på et link reloades siden og dermed scriptet og nyhedstickeren starter derfor forfra. Hvad kan jeg gøre for at få mit script til at huske hvortil det er nået i arrayet med teksten, selv efter sideskift?

==== index.html ====
<script type="text/javascript">
tekst = new Array("tekst1", "tekst2", "tekst3", "tekst4", "tekst4", "tekst5"); ?> ); //Beskederne der skal vises én efter én
showTime = 2000; //Antal millisekunder hver besked skal vises før den fader ud
pause = 500; //Antal millisekunder der skal gå fra den nuværende besked er fadet ud til den næste vises

nr = -1;

function visBesked() {
  if (nr == tekst.length -1) { nr = -1 };
  obj = document.getElementById("fadingText");
  obj.innerHTML = tekst[++nr];
  fadeind();
}

opac = 0;

function fadeind() {
  if (opac <= 100) {
    obj = document.getElementById("fadingText");
    if (document.all)
      obj.filters.alpha.opacity = opac;
    else
      obj.style.MozOpacity = opac / 100;
    opac += 5;
    setTimeout("fadeind();", 50);
  }
  else
    setTimeout("fadeud();", showTime);
}

function fadeud() {
  if (opac >= 0) {
    obj = document.getElementById("fadingText");
    if (document.all)
      obj.filters.alpha.opacity = opac;
    else
      obj.style.MozOpacity = opac / 100;
    opac -= 5;
    setTimeout("fadeud();", 50);
  }
  else
    setTimeout("visBesked();", pause);
}
</script>

</head>
<body onLoad="visBesked();">
<div id="fadingText" style="width:250px; text-align:center ;font-family: Arial; color:#FFFFFF; font-size: 14px; filter: alpha(opacity=0); -moz-opacity: 0;"></div>
Avatar billede smackers Nybegynder
09. august 2007 - 17:30 #1
i bund og grund: hvordan får jeg overført variablen "nr" henover sideskift, uden samtidig at ødelægge scriptet...
Avatar billede olebole Juniormester
09. august 2007 - 17:47 #2
<ole>

Såvidt jeg kan se på din profil, kan du køre ASP. Så kan du i stedet for:
    nr = -1;

- skrive noget i stil med:

<%
IF Request.QueryString("nr")<>"" THEN
    Response.Write "var nr = " & Request.QueryString("nr") & ";"
ELSE
    Response.Write "var nr = -1;"
%>

- og så kan du lave noget à la:

window.onload = function() {
    var sHref, a = document.getElementsByTagName("a");
    for (var i=0,j=a.length; i<j; i++) {
        sHref = a[i].getAttribute("href");
        if (sHref.indexOf("?")!=-1) sHref = sHref.replace("?", "?nr="+nr+"&");
        else sHref += "?nr="+nr";
        a[i].setAttribute("href", sHref);
    }
}

/mvh
</bole>
Avatar billede smackers Nybegynder
31. oktober 2008 - 03:06 #3
.
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