Vise tilfældig .php-/.htmlside

Tags:    javascript

Hej.

Jeg har fundet et gammel javascript frem, som kan skifte mellem en række billeder i et tidsinterval. Koden ligger som "kode 1".
Billederne kommer frem i samme rækkefølge hver gang, men jeg så gerne at de kom i en tilfældig rækkefølge. Jeg har forsøgt at erstatte i i loopet med
"Math.floor(Math.random()*variableslide.length)"
men det får ikke rækkefølgen til at være tilfældig... (se kode 2)

Jeg prøvede så istedet at erstatte stykket
var currentslide=0

med

var currentslide=Math.random()*variableslide.length

Det gjorde at rækkefølgen stadig var den samme, men begyndelsespunktet var tilfældigt.


Men hvordan kan jeg få den til at have rækkefølgen helt tilfældig?

Og kan jeg få koden til at vise en .php-side eller .html-side i stedet for billeder?
Hvilket objekt skal det så være?:
"var cacheimage=new Image()"

Håber nogen kan hjælpe :)




Kode 1:


<script language="JavaScript1.2">
/***********************************************
* Flexi Slideshow- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var variableslide=new Array()

//variableslide[x]=["path to image", "OPTIONAL link for image", "OPTIONAL text description (supports HTML tags)"]

variableslide[0]=['Img/Max.jpg', '', '']
variableslide[1]=['Img/Nanna.jpg', '', '']
variableslide[2]=['Img/Oel.jpg', '', '']
variableslide[3]=['Img/Ole.jpg', '', '']
variableslide[4]=['Img/Stine.jpg', '', '']
variableslide[5]=['Img/Rasmus.jpg', '', '']
variableslide[6]=['Img/Tri.jpg', '', '']
variableslide[7]=['Img/Max2.jpg', '', '']
variableslide[8]=['Img/Nanna2.jpg', '', '']
variableslide[9]=['Img/Ole2.jpg', '', '']
variableslide[10]=['Img/Rasmus2.jpg', '', '']
variableslide[11]=['Img/Stine2.jpg', '', '']
variableslide[12]=['Img/Ole3.jpg', '', '']




//configure the below 3 variables to set the dimension/background color of the slideshow

var slidewidth='25px' //set to width of LARGEST image in your slideshow
var slideheight='25px' //set to height of LARGEST iamge in your slideshow, plus any text description
var slidebgcolor='#00000'

//configure the below variable to determine the delay between image rotations (in miliseconds)
var slidedelay=1000

////Do not edit pass this line////////////////

var ie=document.all
var dom=document.getElementById

for (i=0;i<variableslide.length;i++){
var cacheimage=new Image()
cacheimage.src=variableslide[0]
}

var currentslide=0

function rotateimages(){
contentcontainer='<center>'
if (variableslide[currentslide][1]!="")
contentcontainer+='<a href="'+variableslide[currentslide][1]+'">'
contentcontainer+='<img src="'+variableslide[currentslide][0]+'" border="0" vspace="3">'
if (variableslide[currentslide][1]!="")
contentcontainer+='</a>'
contentcontainer+='</center>'
if (variableslide[currentslide][2]!="")
contentcontainer+=variableslide[currentslide][2]

if (document.layers){
crossrotateobj.document.write(contentcontainer)
crossrotateobj.document.close()
}
else if (ie||dom)
crossrotateobj.innerHTML=contentcontainer
if (currentslide==variableslide.length-1) currentslide=0
else currentslide++
setTimeout("rotateimages()",slidedelay)
}

if (ie||dom)
document.write('<div id="slidedom" style="width:'+slidewidth+';height:'+slideheight+'; background-color:'+slidebgcolor+'"></div>')

function start_slider(){
crossrotateobj=dom? document.getElementById("slidedom") : ie? document.all.slidedom : document.slidensmain.document.slidenssub
if (document.layers)
document.slidensmain.visibility="show"
rotateimages()
}

if (ie||dom)
start_slider()
else if (document.layers)
window.onload=start_slider

</script>









Kode 2:

for (i=0;i<variableslide.length;i++){

var cacheimage=new Image()
cacheimage.src=variableslide[Math.floor(Math.random()*variableslide.length)][0]
}

////resten af koden er uændret i forhold til Kode 1 ///




1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Har lavet noget lidt lign. hvor jeg først åbner 3*3 tilfældige billeder og derefter for dem til at fade over hinanden(der vises 3 billeder af gangen).

Kig på den nederste del, i php-afsnittet, hvor der udvælges billeder:
Fold kodeboks ind/udKode 





Indlæg senest redigeret d. 24.03.2010 10:22 af Bruger #10584
t