【问题标题】:jquery how to fire the same event every 5 secondsjquery如何每5秒触发一次相同的事件
【发布时间】:2010-08-23 17:00:46
【问题描述】:

我已经构建了一个带有左右滚动条的简单轮播。现在我想每 5 秒自动滚动一次。这是我的代码:

function carousel(){
        $j('#carousel_ul li:first').before($j('#carousel_ul li:last'));

        $j('#right_scroll img').click(function(){

            var item_width = $j('#carousel_ul li').outerWidth() + 10;

            var left_indent = parseInt($j('#carousel_ul').css('left')) - item_width;

            $j('#carousel_ul:not(:animated)').animate({'left' : left_indent},800, 'easeOutExpo',function(){

                $j('#carousel_ul li:last').after($j('#carousel_ul li:first'));

                $j('#carousel_ul').css({'left' : '-750px'});
            });
        });

        $j('#left_scroll img').click(function(){

            var item_width = $j('#carousel_ul li').outerWidth() + 10;

            var left_indent = parseInt($j('#carousel_ul').css('left')) + item_width;

            $j('#carousel_ul:not(:animated)').animate({'left' : left_indent},800, 'easeOutExpo',function(){

            $j('#carousel_ul li:first').before($j('#carousel_ul li:last'));

            $j('#carousel_ul').css({'left' : '-750px'});
            });

        });
}

我如何做到这一点? 在此先感谢:)

毛罗

【问题讨论】:

    标签: jquery timed-events


    【解决方案1】:

    您可以使用 setInterval。看:

    window.setInterval(event, 5000);
    

    函数事件是

    function event() {
     $j("#right_scroll img").click();
    }
    

    编辑:

    谢谢@cris! setTimeout 只调用一次。我改成 setInterval。

    谢谢@bears!现在我将一个函数传递给 setInterval。

    【讨论】:

    • setTimeout 只会执行一次。 setInterval 会一遍又一遍地调用函数... setInterval 更适合这种情况。
    • 不要将字符串传递给setIntervalsetTimeout!传函数:setInterval(event, 5000);setInterval(function () {$j("#right_scroll img").click();}, 5000);
    • 感谢托佩拉!比我想象的要容易! :)
    【解决方案2】:
    var i = setInterval(carousel, 5000)
    

    稍后再停止:

    clearInterval(i);
    

    【讨论】:

    • Cris, call carousel 只会重新绑定事件。您必须调用向右或向左滚动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多