2010-10-29 7 views
0

ok mon diaporama est mon fond de corps et les imgs sont dans les balises img comme celui-cicomment faire une répétition de diaporama en utilisant javascript

<img name="pic" src="../../Content/images/bg.jpg" style=" width: 100%; position: absolute; top: 0; left: 0; z-index: -1;width: expression(document.body.clientWidth + 'px'); " alt=""/> 

mon problème est qu'il joue mais arrête sur la dernière image au lieu d'être continu

aussi comment pourrais-je mettre en place un jeu d'arrêt prev bouton suivant un haut de la page qui contrôle également l'arrière-plan je ne veux pas télécharger aucun plugin si possible grâce

voici mon code s o loin

var pause = 3000; 

var n = 0; 

var imgs = new Array("bg.jpg", "bg2.jpg", "bg3.jpg", "bg4.jpg", "bg5.jpg", "bg6.jpg", "bg7.jpg", "bg8.jpg", "bg9.jpg", "bg10.jpg", "bg11.jpg"); 


var preload = new Array(); 
for (var i = 1; i < imgs.length; i++) { 
    preload[i] = new Image(); 
    preload[i].src = imgs[i]; 
} 

var inc = -1 

function rotate() { 

    document.images.pic.src = imgs[n]; 
    (n == (imgs.length - 1)) ? n = 0 : n++; 
    setTimeout("rotate(0)", pause); 
} 

Répondre

0

Peut-être cela?

n = (n==imgs.length-1 ? 0 : n+1); 
+0

encore Firebug de travail ne marche pas dit manquant) dans parenthétique quand i utilisez cela – sam

+0

Vous pourriez essayer de le réorganiser comme si/sinon ... "if (n == imgs.length-1) n = 0 else n ++;" – marsbard

+0

toujours rien :(im encore en train d'apprendre cette – sam

0

Essayez de structurer votre code comme ceci:

var i, imgs, pic; 

function rotate() 
{ 
    pic.src = imgs[i] ; 
    (i === (imgs.length -1)) ? i=0 : i++ ; 
    setTimeout(rotate, 5000); 
} 

function init() 
{ 
    pic = document.getElementById("pic"); 

    imgs = ["bg.jpg", "bg2.jpg", "bg3.jpg"] ; 

    var preload= new Array(); 
    for(i=0; i< imgs.length; i++) 
    { 
    preload[ i ] = new Image(); 
    preload[ i ].src = imgs[ i ]; 
    } 

    i=0; 

    rotate(); 
} 
onload=init; 

Et dans votre page html vous pourriez avoir quelque chose comme ceci:

<img id="pic" width="960" height="300" alt="Icon" src="bg1.jpg"> 
Questions connexes