程序命令每5秒调用一次

时间:2011-11-23 23:24:33

标签: javascript jquery

  

可能重复:
  Do something every 5 seconds and the code to stop it. (JQuery)

我有一个画廊,我希望在没有使用它的情况下自动运行。

如何在http://www.meadmiracle.com/SlidingGalleryDemo1.htm

上每隔5秒左右运行一个调用此脚本的脚本

我需要每隔5秒左右调用一次,因此画廊看起来像是自动滚动。

$.galleryUtility.slideLeft( ) 

2 个答案:

答案 0 :(得分:5)

您需要使用setInterval方法

<script type="text/javascript">
    $(window).load(function(){
        setInterval( function(){
            $.galleryUtility.slideLeft() ;
        }, 5000);
    });
</script>

<强>更新

在您的特定情况下,您应该在初始化图库后立即添加它。

<script language="javascript" type="text/javascript">
    $(function() {
        $('div.gallery img').slidingGallery(); // add it right after this line of you existing code
        setInterval( function(){
            $.galleryUtility.slideLeft() ;
        }, 5000);
    });
</script>

更新2

要开始停止自动滑动,您需要清除间隔,为此,您需要引用setInterval来电中返回的值。

<script type="text/javascript">
    var autoSlideInterval;

    function start_autoslide(){
        autoSlideInterval = setInterval( function(){
            $.galleryUtility.slideLeft() ;
        }, 5000);
    }

    function stop_autoslide(){
        clearInterval( autoSlideInterval );
    }

    $(function() {
        $('div.gallery img').slidingGallery(); 
        start_autoslide();
    });

</script>

现在,当您想为自动幻灯片加注星标时,请致电start_autoslide();,当您需要停止时,请致电stop_autoslide();

答案 1 :(得分:1)

var id = setInterval(function ()
{
    $.galleryUtility.slideLeft(); 
}, 5000);

每隔5秒就会调用一次。如果您需要让它在某个点或条件下停止,则调用以下内容:

clearInterval(id); //You must pass in the id that was returned after calling setInterval()

澄清:

当你致电setInterval()时,它实际上会返回一个整数ID值。您存储它并将其传递到clearInterval(**id goes here**)以停止进一步执行该代码。