2010-07-20 119 views
1

我得到了這個jQuery代碼。這是一種幻燈片放映效果。因此,循環...這是第一個代碼Jquery停止循環的問題

$(document).ready(function(){ 
    function looptour(){ 
     $("#health").hide(); 
     $("#billing").hide(); 
     $("#pension").delay(6000).fadeOut(2000); 
     $("#health").delay(6000).fadeIn(2000).delay(6000).fadeOut(2000); 
     $("#billing").delay(14000).fadeIn(2000).delay(6000).fadeOut(2000); 
     $("#pension").delay(14000).fadeIn(2000,looptour); 
    } 
    looptour(); 
}); 

我的問題是如何阻止你的第一個代碼onclick事件看到了循環?然後單擊該事件後,一個新的循環將繼續等等......

這裏的新代碼,

$("#tournums").click(function(){ 
    function billingloop(){ 
     $("#health").hide(); 
     $("#pension").hide(); 
     $("#billing").delay(6000).fadeOut(2000); 
     $("#pension").delay(6000).fadeIn(2000).delay(6000).fadeOut(2000); 
     $("#health").delay(14000).fadeIn(2000).delay(6000).fadeOut(2000); 
     $("#billing").delay(14000).fadeIn(2000,looptour); 
    } 
    billingloop(); 
}); 

謝謝你幫我走出我的這個問題這麼多的jQuery的主人。

回答

1

我最好的猜測是使用.clearQueue()此:

function stopLoop() { 
    $("#pension").clearQueue(); 
    $("#health").clearQueue(); 
    $("#billing").clearQueue(); 
} 

// snip // 

$("#tournums").click(function(){ 
    stopLoop(); 

    function billingloop(){ 
     $("#health").hide(); 
     $("#pension").hide(); 
     $("#billing").delay(6000).fadeOut(2000); 
     $("#pension").delay(6000).fadeIn(2000).delay(6000).fadeOut(2000); 
     $("#health").delay(14000).fadeIn(2000).delay(6000).fadeOut(2000); 
     $("#billing").delay(14000).fadeIn(2000,looptour); 
    } 
    billingloop(); 
}); 
+0

爲什麼點擊功能是不是在我的項目上工作? – Ryan 2010-07-20 03:16:46

+0

我不知道。在那裏粘貼一個alert(「無論」)的蹤跡,看看你的函數是否被調用。 – 2010-07-20 04:08:20