У меня есть серия массивов, которые я показываю один за другим, используя цикл jquery.Функция остановки цикла при нажатии кнопки
Проверить JSFiddle Demo.
Теперь я хочу остановить его, когда пользователь нажмет кнопку «Остановить это сейчас».
HTML:
<h1>Lorem ipsumd dolor sit amet.</h1>
<div id="div1">Answer One</div>
<div class="stop">
<button>Stop it Now.</button>
</div>
CSS:
body{text-align:center;}
h1{padding:30px; margin:0 0 0 30px;}
#div1{padding:20px;margin-top:0; text-align:center;}
JQuery
$(document).ready(function() {
var items = ["Answer Two", "Answer Three", "Answer Four", "Answer Five", "Answer Six", "Answer One"],
$text = $('#div1'),
delay = .2; //seconds
function loop (delay) {
$.each(items, function (i, elm){
$text.delay(delay*1E3).hide();
$text.queue(function(){
$text.html(items[i]);
$text.dequeue();
});
$text.show();
$text.queue(function(){
if (i == items.length -1) {
loop(delay);
}
$text.dequeue();
});
});
}
loop(delay);
});
Как я могу добиться этого?
Почему вы не создать функцию с какой-либо деятельности и завернуть его в 'Window.setInterval()'? – reporter