【问题标题】:Multiple background image changes in reference to time of day多个背景图像更改参考一天中的时间
【发布时间】:2011-07-16 11:59:23
【问题描述】:

我正在尝试使网页的背景图像通过图像幻灯片放映,我已经管理过:

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

不胜感激,干杯!

【问题讨论】:

  • 你真的不需要指定Javascript版本
  • 它可能只是一个错字,但你设置 bgslides[1] 两次,而不是 bgslides[2]

标签: javascript time background slideshow clock


【解决方案1】:

假设您有一组不同的图像,您可以这样做以根据一天中的时间更改图像列表:

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

【讨论】:

  • 只是一个简单的问题,这需要很长时间才能加载,我如何删除预加载功能?
  • 或者有更有效的方法来预加载它们,而且图像在我的样式表中的 Firefox 中也没有缩放到 100% :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 2011-06-16
  • 1970-01-01
相关资源
最近更新 更多