【问题标题】:Change background-image after specified time在指定时间后更改背景图像
【发布时间】:2014-09-12 17:45:55
【问题描述】:

我对 javascript 很陌生,很抱歉我什至没有尝试过这个,因为我不知道如何开始。

我有 3 张图片。 Image1 是 png 文件,Image2 和 Image 3 是动画 gif。

然而,我需要的是非常具体的。我希望 Image1 在 x 秒后更改为 Image 2,然后在 y 秒后更改为 Image3。加载 Image3 后,我希望该 gif 保留为页面背景。

任何帮助将不胜感激......

好的,这就是我目前所拥有的,

var delay1 = 104000;
var delay2 = 14000;
setBackground('Image1.png');
setTimeout(function() {
setBackground('Image2.gif');
setTimeout(function() {
setBackground('Image3.gif');
}, delay2);
}, delay1);

function setBackground(src) {
image.style.backgroundImage = 'url('Image1.png + Image2.gif + Image3.gif')';
}

运行时,根本不会加载背景图像。对不起,如果我是一个彻头彻尾的白痴。就像我说的,我是 javascript 新手...

【问题讨论】:

  • 请张贴一些您尝试过的代码。
  • 应该是循环的??
  • 不,我希望第一张图片与页面一起加载。然后在说1秒后更改为gif,并在说2秒后更改最后一个gif,我希望最后一个gif保留为页面背景

标签: javascript html


【解决方案1】:

您正在寻找setTimeout 函数。它接受两个参数:函数和延迟(毫秒),延迟后会调用函数。

var delay1 = 2000; // 2 seconds
var delay2 = 3000; // 3 seconds
setBackground('image-1.png');
setTimeout(function() {
    setBackground('image-2.gif');
    setTimeout(function() {
        setBackground('image-3.gif');
    }, delay2);
}, delay1);

function setBackground(src) {
    image.style.backgroundImage = 'url(' + src + ')';
}

【讨论】:

  • 谢谢,但我应该在最后一段代码中输入什么来源?
  • 我不明白你的问题。你能澄清一下吗?
  • 最后一部分。功能 setBackground... 从那时起我不知道该怎么做。另外,如何设置背景图像的样式?例如定位等。如果它更容易,而且你不介意,我可以在 jsfiddle 上获得一个例子吗?
  • src 是图像的路径,只需将 'image-1.png' 等更改为所需的路径。检查所有 style.background* 属性以进行定位等。
猜你喜欢
  • 2011-06-16
  • 2015-03-13
  • 2022-06-12
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 2019-05-15
相关资源
最近更新 更多