if语句中的函数也在if语句之外运行

时间:2013-01-30 14:16:22

标签: javascript jquery html

  

可能重复:
  jQuery function running when it shouldn’t

一直试图让这个工作几个小时,但找不到解决方案,所以一些建议将不胜感激!我在if ($window.width() < 1000)语句中有一个函数,它也在这个语句之外运行。所以当窗口宽度是> 1000 px的功能也开火..我的问题很简单..为什么?

我正在'使用背景颜色'记录'if / else语句,该颜色正常工作,调整大小时颜色会来回变化。当页面为&lt; 1000px右侧列表应在视觉上表示为具有标签功能的下拉列表(与电梯上的下拉列表功能相同),并且当页面为&gt;时1000右侧应在视觉上表示为标签。

Code

Full screen demo(滚动更容易)

1 个答案:

答案 0 :(得分:2)

第一次在大于1000px的窗口中打开页面时,它会设置click事件处理程序。当您将其调整为小于1000px的宽度时,仍会设置click事件,因此单击时它仍会作出反应。

您可以执行以下操作:

当宽度大于1000px

$('.schedule li').bind('click', function(){...

else(宽度小于1000px)取消绑定点击。

$('.schedule li').unbind('click');

我希望这有用。