我在建设我的菜单行为的过程中,想要使用jQuery的一些媒体查询不执行。jQuery的调整,如预期
This is the basic functionality of the menu.我只希望在nav ul li
为display: block
时加载。一旦他们是inline-block
或其他东西,我不想使用slideToggle
。
我尝试使用中解释的resize.function
,但是当我这样做时,slideToggle
在点击which you can see in this fiddle上发生两次。
初始加载,当您单击下拉li
性能达到要求,但如果你调整窗口的大小,然后单击li
它滑动开关的两倍;我想知道为什么会出现这种情况,因为我对jQuery非常陌生。
JS
$(window).resize(function(){
if ($("header nav ul li").css("display") == "block"){
$(".dd").click(function() {
$(".submenu").slideToggle("slow");
$(".ar").toggleClass("up");
});
}
}).trigger('resize');
每次运行resize处理程序时,都会添加一个附加的点击处理程序。 – Barmar
为处理另一个事件的处理程序内的一个事件绑定处理程序是很少正确的。全局绑定处理程序,并让外部处理程序设置内部处理程序检查的变量。 – Barmar
我应该强调,我对jQuery非常**,所以我不完全确定如何去做,但谢谢你的回应。 – justinw