在jQuery中以时间间隔运行函数

时间:2011-05-21 11:32:40

标签: jquery intervals

我想通过使用jQuery制作横幅。当页面加载脚本将逐一显示一组照片。例如,控制器发送10张照片,每张照片将在10分钟后30秒内显示,脚本需要来自控制器的另一张照片。

问题是:如何制作一个在30秒内运行的功能。我需要在一个时间间隔内运行一个函数而不需要点击任何按钮或其他任何东西。

4 个答案:

答案 0 :(得分:42)

主要方法是:

 setInterval(function () {
        console.log('it works' + new Date());
    },30000);

如果您需要在将来清除间隔:

var myInterval = setInterval(function () {
            console.log('it works' + new Date());
        },30000); 

将来:

clearInterval(myInterval);

答案 1 :(得分:3)

尝试这样的事情:

<强> HTML:

<ul id="ticker">
    <li>Image 1</li>
    <li>Image 2</li>
    <li>Image 3</li>
    <li>Image 4</li>
    <li>Image 5</li>
</ul>​

<强> CSS:

ul{height:20px; overflow:auto}​

<强> JS:

var $ticker = $('ul#ticker');
var speed = 300;
var pause = 3000;

var tick = function () {
    var first = $ticker.find('li').first().animate({
        height: 0
    }, speed).hide('normal', function() {
        $(this).remove();
        $ticker.append('<li>' + first + '</li>');
    }).html();
};

$('ul#ticker').click(tick);
setInterval(tick, pause);

这里有一个简单的 Demo

答案 2 :(得分:0)

JavaScript提供了setTimeout function

var timeoutID = window.setTimeout(code, delay);

答案 3 :(得分:-2)

你应该像这样使用setInterval

setInterval( "alert('Hello')", 5000 );