【发布时间】:2017-03-21 23:30:32
【问题描述】:
我正在尝试使用两个图像创建一个简单的 GIF 类动画。我想使用相同的 img 标签并在一个循环中更改 2 个 src 链接。
这是我目前所拥有的,但我不知道如何解决它:
HTML
<img class="logo" src="https://dl.dropbox.com/s/7mbi7un8i0sksoq/flaws1.svg" draggable="false">
jQuery
$(document).ready(function() {
$(function(){
setInterval(function(){
setTimeout(function(){$('.logo').attr("src", "https://dl.dropbox.com/s/z4zb1ad94w92pra/flaws2.svg");}, 200);
setTimeout(function(){$('.logo').attr("src", "https://dl.dropbox.com/s/7mbi7un8i0sksoq/flaws1.svg");}, 200);
}, 400);
});
});
简化的 CSS
body {
background: black;
}
.logo {
position: absolute;
left: 0; right: 0; top: 0; bottom: 0; margin: auto;
width: 70%;
}
【问题讨论】:
-
在
setInterval中,从第一个setTimeout中取出代码,使其立即运行。您已将它们安排在同一时间(大致)执行。 -
而
$(document).ready(function(...与$(function(...是同一件事。两者都不需要。 -
我删除了第一个超时,它有点工作,除了它在大约 10-20 秒后开始,然后它正常工作。
-
可能加载资源需要时间。不确定。
标签: javascript jquery settimeout setinterval infinite-loop