2011-03-16 108 views
0

我试图做一个网页的背景图像经过图像的幻灯片,我已经与管理时间:多个背景图像更改为

<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> 

,工作正常,但那么我也希望根据用户的时区在夜间将这组图像设置为不同的设置。我发现了这个代码,但我不知道如何整合这两个persay或者甚至可能。

<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> 

将不胜感激任何帮助,欢呼!

+1

你真的不需要指定Javascript版本 – Starx 2011-03-16 10:46:26

+0

它可能只是一个错字,但你设置bgslides [1]两次,而不是bgslides [2] – Geoff 2011-03-16 10:52:51

回答

0

假设你有一组不同的图像,你可以做到这一点改变你根据一天的时间图像列表:

//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

只是一个简单的问题,这是需要很长时间来加载,我如何删除预加载功能? – Amy 2011-03-16 17:31:05

+0

或者是否有更有效的方式来预加载它们,也没有从我的样式表中将图像缩放到100% – Amy 2011-03-16 17:33:26