Запустить функцию во временном интервале в jQuery

Я хочу сделать баннер с помощью jQuery. При загрузке страницы скрипт покажет группу фотографий одну за другой. Например, контроллер отправляет 10 фотографий, и каждая фотография будет показана через 30 секунд, через 10 минут скрипт потребует еще одну фотографию от контроллера.

Вопрос в том, как сделать функцию, которая запускается за 30 сек. Мне нужно запустить функцию во временном интервале без нажатия кнопки или чего-либо еще.


person Sesen    schedule 21.05.2011    source источник
comment


Ответы (4)


Основной метод:

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

Если вам нужно очистить интервал в будущем:

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

в будущем:

clearInterval(myInterval);
person Roki    schedule 21.05.2011
comment
я получаю ReferenceError: myInterval is not defined - person Francisco Corrales Morales; 22.09.2014
comment
@FranciscoCorralesMorales: у меня такая же ошибка. По ошибке я попытался вызвать функцию myInterval со скобками. - person HH.; 10.08.2015

Попробуйте что-то вроде этого:

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);

Вот простая демонстрация.

person yckart    schedule 13.08.2012

JavaScript предоставляет setTimeout функцию:

var timeoutID = window.setTimeout(code, delay);
person BnW    schedule 21.05.2011

Вы должны использовать setInterval вот так

setInterval( "alert('Hello')", 5000 );
person jams    schedule 21.05.2011
comment
Настоятельно предпочтительнее использовать в качестве первого аргумента функцию или замыкание, а не строку. - person vog; 12.08.2016