2011-03-16 114 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