Težava javascript
 
krajcar 3. jan 2013 07:51:15 Pridružen od:
29. sep 2009
7 objav
1 0 0
#1

Rad bi naredil tri različne prostore, kjer se vrtijo naključne slike iz iste mape. Slike normalno pobere iz mape a vrtijo se samo v tretjem zadnjem prostoru.



Kakšna ideja kaj bi bilo lahko narobe?



Hvala.


<div id="slike">
<div id="slika1">
<script language="javascript">
var delay=1000 //set delay in miliseconds
var curindex=0

var randomimages=new Array()

randomimages[0]="slide/1.jpg"
randomimages[1]="slide/2.jpg"
randomimages[2]="slide/3.jpg"
randomimages[3]="slide/4.jpg"
randomimages[4]="slide/5.jpg"
randomimages[5]="slide/6.jpg"

var preload=new Array()

for (n=0;n<randomimages.length;n++)
{
preload[n]=new Image()
preload[n].src=randomimages[n]
}

document.write('<img name="defaultimage" src="'+randomimages[Math.floor(Math.random()*(randomimages.length))]+'">')

function rotateimage()
{

if (curindex==(tempindex=Math.floor(Math.random()*(randomimages.length)))){
curindex=curindex==0? 1 : curindex-1
}
else
curindex=tempindex

document.images.defaultimage.src=randomimages[curindex]
}

setInterval("rotateimage()",delay)
</script>
</div>
<div id="slika2">
<script language="javascript">
var delay=1000 //set delay in miliseconds
var curindex=0

var randomimages=new Array()

randomimages[0]="slide/1.jpg"
randomimages[1]="slide/2.jpg"
randomimages[2]="slide/3.jpg"
randomimages[3]="slide/4.jpg"
randomimages[4]="slide/5.jpg"
randomimages[5]="slide/6.jpg"

var preload=new Array()

for (n=0;n<randomimages.length;n++)
{
preload[n]=new Image()
preload[n].src=randomimages[n]
}

document.write('<img name="defaultimage" src="'+randomimages[Math.floor(Math.random()*(randomimages.length))]+'">')

function rotateimage()
{

if (curindex==(tempindex=Math.floor(Math.random()*(randomimages.length)))){
curindex=curindex==0? 1 : curindex-1
}
else
curindex=tempindex

document.images.defaultimage.src=randomimages[curindex]
}

setInterval("rotateimage()",delay)
</script>
</div>
<div id="slika3">
<script language="javascript">
var delay=1000 //set delay in miliseconds
var curindex=0

var randomimages=new Array()

randomimages[0]="slide/1.jpg"
randomimages[1]="slide/2.jpg"
randomimages[2]="slide/3.jpg"
randomimages[3]="slide/4.jpg"
randomimages[4]="slide/5.jpg"
randomimages[5]="slide/6.jpg"

var preload=new Array()

for (n=0;n<randomimages.length;n++)
{
preload[n]=new Image()
preload[n].src=randomimages[n]
}

document.write('<img name="defaultimage" src="'+randomimages[Math.floor(Math.random()*(randomimages.length))]+'">')

function rotateimage()
{

if (curindex==(tempindex=Math.floor(Math.random()*(randomimages.length)))){
curindex=curindex==0? 1 : curindex-1
}
else
curindex=tempindex

document.images.defaultimage.src=randomimages[curindex]
}

setInterval("rotateimage()",delay)
</script>
</div>
</div>
všeč(0) ni všeč(0) spam(0)
 
carli 3. jan 2013 07:56:08 Pridružen od:
5. avg 2008
1258 objav
583 54 17
#2

Prepisuješ vse kar se prepisati da ... v prvem polju začneš, v drugem prepišeš prvo, v tretjem pa drugega in vse skupaj dela samo v tretjem.


všeč(1) ni všeč(0) spam(0)
 
matkvon 3. jan 2013 10:10:53 Pridružen od:
5. sep 2012
99 objav
114 0 0
#3

Kot je carli rekel. Vse se samo prepisuje.



Spodaj sem na hitro vse spremenljivke, funkcije ... poimenoval z dodatnim ZZZ na koncu. za druge slike samo uporabi druge črke (da nastane na primer curindexYYY). Vse se mora razlikovati. Načeloma bi moralo delovati, bi se pa dalo zoptimizirati, da ne bi bilo toliko podvajanja.


<script language="javascript">
var delay=1000 //set delay in miliseconds
var curindexZZZ=0

var randomimagesZZZ=new Array()

randomimagesZZZ[0]="slide/1.jpg"
randomimagesZZZ[1]="slide/2.jpg"
randomimagesZZZ[2]="slide/3.jpg"
randomimagesZZZ[3]="slide/4.jpg"
randomimagesZZZ[4]="slide/5.jpg"
randomimagesZZZ[5]="slide/6.jpg"

var preloadZZZ=new Array()

for (n=0;n<randomimagesZZZ.length;n++)
{
preloadZZZ[n]=new Image()
preloadZZZ[n].src=randomimagesZZZ[n]
}

document.write('<img name="defaultimageZZZ" src="'+randomimagesZZZ[Math.floor(Math.random()*(randomimagesZZZ.length))]+'">')

function rotateimageZZZ()
{

if (curindexZZZ==(tempindexZZZ=Math.floor(Math.random()*(randomimagesZZZ.length)))){
curindexZZZ=curindexZZZ==0? 1 : curindexZZZ-1
}
else
curindexZZZ=tempindexZZZ

document.images.defaultimageZZZ.src=randomimagesZZZ[curindexZZZ]
}

setInterval("rotateimageZZZ()",delay)
</script>
všeč(1) ni všeč(0) spam(0)
 
krajcar 3. jan 2013 16:14:51 Pridružen od:
29. sep 2009
7 objav
1 0 0
#4

Nekaj novega sem se naučil.



Hvala


všeč(1) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se