2012-04-18 20 views
0

我想製作圖像滑塊。現在,我得到了滑塊的基本部分 - 唯一的一點是滑塊每5秒自動顯示一個新的圖片(已經構建過),但只要用戶將滑塊菜單懸停,5秒鐘定時器不會停止。jQuery執行動作,如果用戶沒有停留5秒的div

這是我的滑塊代碼;

var index = $(this).parent("li").index(); 

     var item_y = $(this).parent("li").offset().top; 
     var item_x = $(this).parent("li").offset().left; 

     $("#slider li a").each(function(){ 
      $(this).removeClass("active"); 
      Cufon.refresh(); 
     }); 

     $(this).addClass("active"); 

     $("#slider_arrow").css({ 
      'top' : item_y, 
      'left' : item_x-109 
     }); 

     $("#slider_image li").hide().each(function(i,v){ 
      if (i == index) { 
       $(this).fadeIn("medium"); 
      } 
     }); 

     Cufon.refresh(); 

這實際上是 - 在懸停 - 行動。以下是每5秒發生一次的操作代碼。

setInterval(function(){ 

     var current_index = $("#slider li a.active").parent("li").index(); 

     var new_index = $("#slider li").eq((current_index+1)); 

     if (new_index.length > 0) 
     { 
      new_index.children("a").mouseover(); 
     } 
     else 
     { 
      $("#slider li:first-child").children("a").mouseover(); 
     } 

    }, 5000); 

所以,我想要的是一旦用戶觸摸從#slider li菜單中的項目重新5秒的時間間隔。

我該如何做到這一點?

感謝

回答

0

你必須存儲的時間間隔手柄,使您可以在需要時調用clearInterval()

var myinterval = setInterval(
    .... 
, 5000); 

$('#slider li').mouseenter(function() { 
    if(myinterval) clearInterval(myInterval); 
}; 
相關問題