Avatar billede bongotromme Nybegynder
23. marts 2003 - 03:15 Der er 4 kommentarer

random tekst i html

Jeg har fundet en html-kode på nettet, som kan vise en samling automatisk skiftende sætninger uden at man behøver at reloade siden igen og igen. Hvordan laver man koden om så man kan få disse sætninger til at fremkomme i en tilfældig rækkefølge(random) istedet for den nuværende numeriske rækkefølge. Er der nogen der kan klare det problem!!

Her er koden:


<script language="JavaScript1.2">


var delay=6000 //set delay between message change
var fcontent=new Array()
begintag='<font face="Verdana" size=1>' //set opening tag, such as font declarations
fcontent[0]="eksempel 1"
fcontent[1]="eksempel 2"
fcontent[2]="eksempel 3"
closetag='</font>'

var fwidth=330 //set scroller width
var fheight=66 //set scroller height


var ie4=document.all&&!document.getElementById
var ns4=document.layers
var DOM2=document.getElementById
var faderdelay=0
var index=0

if (DOM2)
faderdelay=2000

//function to change content
function changecontent(){
if (index>=fcontent.length)
index=0
if (DOM2){
document.getElementById("fscroller").style.color="rgb(255,255,255)"
document.getElementById("fscroller").innerHTML=begintag+fcontent[index]+closetag
colorfade()
}
else if (ie4)
document.all.fscroller.innerHTML=begintag+fcontent[index]+closetag
else if (ns4){
document.fscrollerns.document.fscrollerns_sub.document.write(begintag+fcontent[index]+closetag)
document.fscrollerns.document.fscrollerns_sub.document.close()
}

index++
setTimeout("changecontent()",delay+faderdelay)
}

// colorfade() partially by Marcio Galli for Netscape Communications.  ////////////
// Modified by Dynamicdrive.com

frame=20;
hex=255  // Initial color value.

function colorfade() {               
// 20 frames fading process
if(frame>0) {   
hex-=12; // increase color value
document.getElementById("fscroller").style.color="rgb("+hex+","+hex+","+hex+")"; // Set color value.
frame--;
setTimeout("colorfade()",20);   
}
else{
document.getElementById("fscroller").style.color="rgb(0,0,0)";
frame=20;
hex=255

}

if (ie4||DOM2)
document.write('<div id="fscroller" style="border:1px solid black;width:'+fwidth+';height:'+fheight+';padding:2px"></div>')

window.onload=changecontent
</script>


<ilayer id="fscrollerns" width=&{fwidth}; height=&{fheight};><layer id="fscrollerns_sub" width=&{fwidth}; height=&{fheight}; left=0 top=0></layer></ilayer>
Avatar billede erikjacobsen Ekspert
23. marts 2003 - 08:25 #1
Må jeg foreslå at blande dit array, og så tage dem
i rækkefølge. På den måde er det tilfældigt, men
du risikerer ikke at der kommer 2 ens lige efter
hinanden:

fcontent = new Array();
fcontent[0]="eksempel 1";
fcontent[1]="eksempel 2";
fcontent[2]="eksempel 3";

size=fcontent.length;
for (i=0;i<size;i++) {
  p=Math.floor(Math.random()*size);
  tmp=fcontent[p];fcontent[p]=fcontent[i];fcontent[i]=tmp;
}

alert(fcontent[0]);
alert(fcontent[1]);
alert(fcontent[2]);
Avatar billede bongotromme Nybegynder
23. marts 2003 - 14:08 #2
tak for det
her er en dråbe til dit pointhav
Avatar billede bongotromme Nybegynder
23. marts 2003 - 14:10 #3
okay erikjacobsen
du skulle have haft nogle point - men det ku jeg jo så ikke lige finde udaf - hvordan faen gør man det???
Avatar billede erikjacobsen Ekspert
23. marts 2003 - 14:12 #4
Ellers tak, ingen svar fordi jeg ikke vil have 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