2011-03-16 1 views
0

Je suis en train de faire l'image d'arrière-plan d'une page Web passe par un diaporama d'images, que j'ai réussi avec:changements multiples d'images d'arrière-plan en référence à l'heure du jour

<script language="JavaScript1.2"> 

//Specify background images to slide 
var bgslides=new Array() 
bgslides[0]="webcam1.jpg" 
bgslides[1]="webcam2.jpg" 
bgslides[1]="webcam3.jpg" 

//Specify interval between slide (in miliseconds) 
var speed=5000 

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

var inc=-1 

function slideback(){ 
if (inc<bgslides.length-1) 
inc++ 
else 
inc=0 
document.body.background=processed[inc].src 
} 

if (document.all||document.getElementById) 
window.onload=new Function('setInterval("slideback()",speed)') 

</script> 

qui fonctionne très bien, mais alors je veux aussi que cet ensemble d'images soit un ensemble différent la nuit selon le fuseau horaire des utilisateurs. J'ai trouvé ce code mais je ne sais pas comment intégrer les deux persay ou si c'est même possible.

<script type="text/javascript"> 
var currentTime = new Date().getHours(); 
if (7 <= currentTime && currentTime < 20) { 
    if (document.body) { 
     document.body.background = "webcam1.jpg"; 
    } 
} 
else { 
    if (document.body) { 
     document.body.background = "webcam2.jpg"; 
    } 
} 

</script> 

apprécierait toute aide, à votre santé!

+1

Vous avez vraiment pas besoin de spécifier Javascript Version – Starx

+0

est probablement juste une faute de frappe , mais vous définissez bgslides [1] deux fois, au lieu de bgslides [2] – Geoff

Répondre

0

En supposant que vous avez un autre ensemble d'images, vous pouvez le faire pour changer votre liste d'images en fonction du moment de la journée:

//Specify background images to slide 
var bgslides=new Array() 

var currentTime = new Date().getHours(); 
if (7 <= currentTime && currentTime < 20) { 
    bgslides[0]="webcam1.jpg" 
    bgslides[1]="webcam2.jpg" 
    bgslides[2]="webcam3.jpg" 
} 
else 
{ 
    bgslides[0]="webcam5.jpg" 
    bgslides[1]="webcam6.jpg" 
    bgslides[2]="webcam7.jpg" 
} 

//Specify interval between slide (in miliseconds) 
var speed=5000 

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

var inc=-1 

function slideback(){ 
if (inc<bgslides.length-1) 
inc++ 
else 
inc=0 
document.body.background=processed[inc].src 
} 

if (document.all||document.getElementById) 
window.onload=new Function('setInterval("slideback()",speed)') 
+0

juste une question rapide cela prend beaucoup de temps à charger, comment puis-je supprimer la fonction de pré-chargement? – Amy

+0

ou est-il un moyen plus efficace de les précharger, aussi les images ne sont pas à 100% dans firefox de ma feuille de style :( – Amy

Questions connexes