Codice Random Javascript con slideshow

Fabio Carbone

Nuovo Utente
2 Ott 2014
2
0
0
Ho la necessità di avere un codice script per immagini random con effetto slideshow. Quindi, una volta caricata la pagina, l'immagine cambia in automatico con un tempo (delay) stabilito.
Ho trovato il codice che vedete sotto. Solo che ho bisogno di aggiungere un link all'immagine. Quì c'è il problema. Se aggiungo il link href="", il codice non funziona più. C'è qualcuno che sa modificarlo per risolvere il mio problema? Grazie molte.

Codice:
var delay=1000 //set delay in miliseconds
var curindex=0

var randomimages=new Array()

	randomimages[0]="<a href = 'http://www.nomesito.it'><img src='http://www.nomesito.it/images/immagine1.jpg' alt='descrizione 1' title='seconda descrizione 1' width='300' height='100' /></a>"
	randomimages[1]="<a href = 'http://www.nomesito.it'><img src='http://www.nomesito.it/images/immagine2.jpg' alt='descrizione 2' title='seconda descrizione 2' width='300' height='100' /></a>"
	randomimages[2]="<a href = 'http://www.nomesito.it'><img src='http://www.nomesito.it/images/immagine3.jpg' alt='descrizione 3' title='seconda descrizione 3' width='300' height='100' /></a>"
	

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)
 
Ultima modifica di un moderatore:
Ciao, racchiudi il codice che posti tra i tag presenti sulla barra di formattazione ( code html o php )
provalo cosi
HTML:
<div id="immaginerandom"></div>
<script>
    var delay=1000 //set delay in miliseconds
    var curindex=0

    var randomimages=new Array()

    randomimages[0]="<a href = 'http://www.nomesito.it'><img src='http://www.nomesito.it/images/immagine1.jpg' alt='descrizione 1' title='seconda descrizione 1' width='300' height='100' /></a>";
    randomimages[1]="<a href = 'http://www.nomesito.it'><img src='http://www.nomesito.it/images/immagine2.jpg' alt='descrizione 2' title='seconda descrizione 2' width='300' height='100' /></a>";
    randomimages[2]="<a href = 'http://www.nomesito.it'><img src='http://www.nomesito.it/images/immagine3.jpg' alt='descrizione 3' title='seconda descrizione 3' width='300' height='100' /></a>";


    var preload=new Array()

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

    document.getElementById("immaginerandom").innerHTML = 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.getElementById("immaginerandom").innerHTML = randomimages[curindex]
    }

    setInterval("rotateimage()",delay); 
</script>
Ma perchè random e non in sequenza ?
 
Grazie per la risposta. Ancora non mi funziona.
Il codice lo devo inserire in un file .js. Esso viene poi richiamato in una pagina .html così: <p class="ctr"><script type="text/javascript" src="../js/file_img_random.js"></script></p>.


Quello che non so dove inserire è: <div id="immaginerandom"></div>.

Grazie ancora.
 
il div serve al codice per sapere dove inserire l'immagine, puoi usare qualsiasi tag basta che gli assegni l'id
HTML:
<p id="immaginerandom" class="ctr"></p>
<script type="text/javascript" src="../js/file_img_random.js"></script>
 

Discussioni simili