2013-04-15 68 views
0

這個問題與我之前發佈的另一個相關。我提出一個新問題的原因是因爲我改變了一些問題,從那以後一直沒能解決一個小問題。從動畫按鈕解除綁定/重新綁定.on()/。off()鼠標事件

所以,我有這個簡單的水平幻燈片。我有一個左右按鈕來控制它(除了能夠直接點擊幻燈片)。基本上我希望我的按鈕在幻燈片到達左/右端時停用自己,並在再次對其進行重新定位時重新激活。我嘗試過.off(),但它只是永久停用。當我想讓它回到 - .on() - 它不起作用。

HTML標記:

<div id="rocksMenu_btnLeft"></div> 
<div id="rocksMenu_btnRight"></div> 

     <div id="centerArea"> 
     <div id="menuContainer"> 
      <div id="menuItem_1" class="menuItem"> 
       <div class="content">Contents1</div> 
      </div> 
      <div id="menuItem_2" class="menuItem"> 
       <div class="content">Contents2</div> 
      </div> 
      <div id="menuItem_3" class="menuItem"> 
       <div class="content">Contents3</div> 
      </div> 
      <div id="menuItem_4" class="menuItem"> 
       <div class="content">Contents4</div> 
      </div> 
     </div> 
     </div> 

這裏充分碼 - Fiddle(乾淨的版本 - 我已經刪除按鈕禁用代碼嘗試,因爲它是越來越亂)。 我搜索了這個問題,但無法得到明確的答案。

Thanx。

佩德羅

回答

2

您不必停用事件,只是做一個檢查,如果達到了目的,不這樣做的動畫動作。

$('#rocksMenu_btnRight').on('click', function() { 
    if (menuItem_place === menuItem_limit) return; 
    // animation code 
} 

對於btnLeft只是改變條件if (menuItem_place === 0) return;

+0

這是比解除綁定事件更好的解決方案。 –

+0

但是,如何禁用mouseenter/mouseleave/click?他們仍然在努力... – Pedro

+1

@Pedro - 同樣的方式,看看這個小提琴[http://jsfiddle.net/p6Uxd/1/](http://jsfiddle.net/p6Uxd/1/) –