Несколько фоновых изменений изображения в зависимости от времени суток - PullRequest
0 голосов
/ 16 марта 2011

Я пытаюсь заставить фоновое изображение веб-страницы проходить через слайд-шоу изображений, с которыми мне удалось справиться:

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

, который работает нормально, но я также хочу, чтобы этот набор изображений был другим набором в ночное время в соответствии с часовым поясом пользователя. Я нашел этот код, но я не знаю, как объединить два из них или, если это вообще возможно.

 <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 Ответ

0 голосов
/ 16 марта 2011

Если у вас есть другой набор изображений, вы можете сделать это, чтобы изменить список изображений в зависимости от времени суток:

//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)')
...