Запуск функции в интервале времени в jQuery
Я хочу создать баннер с помощью jQuery. Когда загруженная страница script отобразит группу фотографий по одному. Например, контроллер отправляет 10 фотографий, и каждая фотография будет отображаться через 30 секунд после 10 минут script требуется еще одна фотография с контроллера.
Возникает вопрос: как я могу сделать функцию, которая работает через 30 секунд. Мне нужно запустить функцию за промежуток времени без нажатия кнопки или чего-либо еще.
Ответы
Ответ 1
Основной метод:
setInterval(function () {
console.log('it works' + new Date());
},30000);
Если вам нужно очистить интервал в будущем:
var myInterval = setInterval(function () {
console.log('it works' + new Date());
},30000);
в будущем:
clearInterval(myInterval);
Ответ 2
Попробуйте что-то вроде этого:
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.
Ответ 3
JavaScript предоставляет setTimeout
функцию:
var timeoutID = window.setTimeout(code, delay);
Ответ 4
Вы должны использовать setInterval
, как этот
setInterval( "alert('Hello')", 5000 );