07. november 2001 - 15:20Der er
9 kommentarer og 1 løsning
hjælp til modificering af script (nyhed).......
Hejsa!!
Jeg har dette script :
<script language=javascript> var numguide=Math.round(Math.random()*2)+1; startRotater();
function startRotater() { // IE if (navigator.appName == \"Microsoft Internet Explorer\"){ document.write(\"<span id=rottext>\"+returnstr1()+\"</span>\"); doshift(); startnow(); }else{ // Netscape if (navigator.appName == \"Netscape\"){ document.write(returnstr1()); }} }
function returnstr1(){ return \'Nyhed nr. 1\'; }
function returnstr2(){ return \'Nyhed nr. 2\'; }
function returnstr3(){ return \'Nyhed nr. 3\'; }
function startnow(){ window.setInterval(\'doshift()\',5000); }
function doshift(){ if (numguide<2){ document.all.item(\'rottext\').innerHTML=returnstr2(); numguide=2 }else{ if (numguide<3){ document.all.item(\'rottext\').innerHTML=returnstr3(); numguide=3 }else{ document.all.item(\'rottext\').innerHTML=returnstr1(); numguide=1 }} return true; } </script>
Som det er nu kan de vise 3 nyheder, men jeg vil gerne have det til at vise 6...... jeg har prøvet at rette lidt i det, men så får jeg bare en script fejl :-(( Nogen der kan rette det lidt til, elelr komme med noget vejledning om hvordan jeg selv kan tilføje så det kan \"håndtere\" flere end 3 nyheder....?
Test udfaldte af din variabel numguide for at se om den giver det du også forventer (brug alert(numguide)). Du kan jo gange med en større faktor end 2 f.eks. 10 og så tjekke om den er mellem 1-2, 2-4... eller lignende.
nyheder = new Array(); nyheder[0] = \"Nyhed nr. 1\"; nyheder[1] = \"Nyhed nr. 2\"; nyheder[2] = \"Nyhed nr. 3\"; nyheder[3] = \"Nyhed nr. 4\"; nyheder[4] = \"Nyhed nr. 5\"; nyheder[5] = \"Nyhed nr. 6\";
function doshift() { tilf = (tilf + 1 == nyheder.length) ? 0 : tilf + 1; if (nyDom) document.getElementById(\"rottext\").innerHTML = nyheder[tilf]; else if (ie4) document.all[\"rottext\"].innerHTML = nyheder[tilf]; else if (ns4) document.nsrottext.document.write(nyheder[tilf]); } </script>
Synes godt om
Slettet bruger
07. november 2001 - 17:42#6
Og så skal du lige kalde startRotator() i slutningen af scriptet.
Med mit script kan du helt selv udvide og indskrænke nyhedslisten; scriptet vil stadigvæk virke. Hvis du ikke vil have, at scriptet skal starte med en tilfældig nyhed som nu, så udskift denne linje: tilf = Math.floor(Math.random() * nyheder.length); med: tilf = 0; hvor 0 så repræsenterer den nyhed, som du vil starte med at vise!
Synes godt om
Slettet bruger
07. november 2001 - 17:50#7
Der er lige to fejl i mit script! SORRY! Her er det reviderede script; det er så til gengæld også gennemtestet! :-)
nyheder = new Array(); nyheder[0] = \"Nyhed nr. 1\"; nyheder[1] = \"Nyhed nr. 2\"; nyheder[2] = \"Nyhed nr. 3\"; nyheder[3] = \"Nyhed nr. 4\"; nyheder[4] = \"Nyhed nr. 5\"; nyheder[5] = \"Nyhed nr. 6\";
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.