2014-02-15 25 views
0

我的尝试是根据窗口大小是否低于767切换标头的兄弟姐妹。这是一个响应式设计,所以我把一个绑定在负载和调整事件大小。但是,当我点击我的标题时,我正在获得多个发射。jquery在RWD加载和调整大小多个执行

jQuery(window).bind('load resize', function($) { 

    if(jQuery(window).width() < 767) { 

    jQuery('footer h2').siblings().hide();   
    jQuery('footer h2').on('click', function() {        
     jQuery(this).siblings().slideToggle(); 
}); 

    } else { 
    jQuery('footer h2').unbind('click'); 
    jQuery('footer h2').siblings().show(); 
    }        
}); 

基本上图像向下滚动和向上。

+0

你说你正在使用RWD,那么为什么你使用jQuery呢?在767px添加一个媒体断点,并使用'display:none' –

+0

对RWD还是一个新的样式。有时我只是觉得'嘿,我可以做',因为我过去这样做了。你有什么好的例子可以看看吗? –

回答

0

那么,有一个问题可能是,每次窗口大小调整时(如果新宽度为< 767),您都要绑定一个点击处理程序。因此,如果您已经小于767,并且调整到小于767的另一个宽度,则会有多个点击处理程序绑定。

+0

所以我只是解除任何点击事件的选择器'jQuery('footer h2')。unbind('click');'这似乎解决了我的问题。然而,这是正确的做法吗?这被插入在'if'语句之前,从而消除'else'中的解除绑定 –

相关问题