2013-04-15 91 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/) –