让JQuery幻灯片只迭代一次?

时间:2016-04-30 13:24:43

标签: javascript jquery html

所以我想制作每两秒切换一次图片的幻灯片,我有这段代码。

HTML:

<div class="fadeIn">
    <img src="img/city.png" class="remimg" id="city">
    <img src="img/shop.png" class="remimg" id="shop">
    <img src="img/ice-cream-cone.png" class="remimg" id="icecream">
</div>

JavaScript的:

$(function(){
    $('.fadeIn img:gt(0)').hide();
    setInterval(function(){
        $('.fadeIn :first-child').fadeOut()
            .next('img').fadeIn()
            .end().appendTo('.fadeIn');}, 
        2000);
}); 

如何让它只迭代一次?

2 个答案:

答案 0 :(得分:2)

在不附加图像的情况下使用递归函数可能更容易,然后在到达最后一张图像时停止

$(function() {
    var all   = $('.fadeIn img'),
        first = all.first(),
        last  = all.last();

    all.not(first).hide();

    (function fn(image) {
        setTimeout(function() {
            var f = image.fadeOut().next().fadeIn();
            if ( f.get(0) !== last.get(0)  ) fn(f);
        }, 2000);
    }(first));
});

FIDDLE

答案 1 :(得分:1)

您可以设置计数器,将间隔指定给变量,然后清除间隔。

Here's a Working Fiddle

像这样修改你的javascript:

PreparedStatement ps = conn.prepareStatement("SELECT * FROM circle where id = ?"); 
ps.setInt(1, circleId);
Circle circle = null;
ResultSet rs = ps.executeQuery();