好了,所以我有一個非常簡單的圖像幻燈片這裏是jsfiddle停止setTimeout函數
因爲你們可以看到它正常工作,當您單擊開始。然而,當您單擊停止功能不斷去這裏是jQuery的:
$(document).ready(function() {
var timer;
$('img.hidden').hide();
$('img.top').show();
$('input').click(function(){
var value = $('input').attr("value");
if(value == "start"){
$(this).attr("value","stop");
startShow();
}else if(value == "stop"){
$(this).attr("value","start");
alert('stopped');
clearTimeout(timer);
}
});
});
function startShow(){
var $top = $('img.top').attr("src");
var $last = $('img').last().attr("src");
if($top != $last){
var $topImg = $('img.top');
var $nextImg = $('img.top').next();
$topImg.hide();
$nextImg.show();
$topImg.removeClass("top");
$nextImg.addClass("top");
}
else{
var $topImg = $('img.top');
var $nextImg = $('img').first();
$topImg.hide();
$nextImg.show();
$topImg.removeClass("top");
$nextImg.addClass("top");
}
timer = setTimeout(function() { startShow(); }, 2000);
};
你調用任何理由'反覆setTimeout'而不是調用'setInterval'一次? – Barmar