我想做一个程序,如果我们点击一个图像,不同的图像不断出现,直到最后一个到达。因此,我使用jQuery在单击图像时调用一个函数,该函数通过更改"src“属性启动遍历所有图像的循环。所有图像都按顺序编号,然后循环使用这些数字打印出png图像。
以下是HTML代码:
<img src="1.png" id="zwitch" height="50">
以下是jQuery代码:
$(document).ready(function(){
$("#zwitch").click(function(){
for(var i = 0; i < 11; i++){
$("#zwitch").attr("src", i + ".png");
}
});
});
文件夹"1.png,2.png,3.png,4.png.“中有10个图像,没有错误,我只是想知道是否有一种方法在一定时间内显示所有图像。
发布于 2014-01-24 10:41:00
尝试一下,它从1到10之间运行,每个图像之间有1000 to的延迟(1秒):
$(document).ready(function() {
$("#zwitch").click(function() {
var i = 1, counter = setInterval(function() {
$("#zwitch").attr("src", i + ".png");
if(i++ == 10) clearInterval(counter);
}, 1000);
});
});
发布于 2014-01-24 10:02:46
你可以试试:
$(document).ready(function(){
$("#zwitch").click(function(){
for(var i = 0; i < 11; i++){
setTimeout( $("#zwitch").attr("src", i + ".png"), 2000);
}
});
});
此代码将显示2000毫秒的图像(2秒)。
现在你可以试试这个:
$(document).ready(function(){
var counter = 0;
$("#zwitch").click(function(){
var id = setInterval(function(){
$("#zwitch").attr("src", counter + ".png");
counter++;
if ( counter > 10 )
clearInterval( id );
}, 2000)
});
}
发布于 2014-01-24 10:05:18
如果你有10个不同的img标签,并相应地显示它们,可能会更好。第一个解决方案是使用setTimeOut函数,但它在for循环内部工作异常。
https://stackoverflow.com/questions/21329472
复制相似问题