【问题标题】:Jquery window resizing and click eventJquery窗口调整大小和点击事件
【发布时间】:2014-12-26 17:04:00
【问题描述】:

我正在尝试制作响应式网络,但在调整寡妇宽度时遇到了麻烦。 当窗口宽度小于885时,第一个代码如果可以正常工作,但是当窗口宽度大于885时,它有问题,,,, 即使我阻止点击事件(关闭),当我尝试再次调整大小时,在控制台中仍然有“无”和“阻止”也发生点击事件,并且被点击的“.common-a”有 {opacity:0;}。

下面是我的代码。

var $window=$(window);    
    function intoTablet(){    
        var width=$window.width();    
        if(width<=885){    
            $('#wrapping .hidden-gnb .common-ul >li').on('click',function(ee){    
                $(this).siblings().children('.hover-ul-inner').css('display','none');    
                $(this).siblings().children('.common-a').css({'opacity':1});    
                console.log("none");    
                $(this).children('.hover-ul-inner').css('display','table');    
                $(this).children('.common-a').css({'opacity':0});    
                console.log("block");    
            });    
        }    
        if(width>885){    
            $('#wrapping .hidden-gnb .common-ul >li').off('click',function(ee){    
                $(this).siblings().children('.hover-ul-inner').css('display','none');    
                $(this).siblings().children('.common-a').css({'opacity':1});    
                console.log("none");    
                $(this).children('.hover-ul-inner').css('display','table');    
                $(this).children('.common-a').css({'opacity':0});    
                console.log("block");    
            });    
        }    
    }    
    intoTablet();    
    $window.on('resize',function(){    
        intoTablet();    
        console.log("resizing");    
    });    

【问题讨论】:

    标签: jquery resize window width


    【解决方案1】:

    使用不带回调函数的关闭函数

      $('#wrapping .hidden-gnb .common-ul >li').off('click');
    

    您可以从.off() 函数中添加您的.css 函数并设置不透明度

      if(width>885){    
         $('#wrapping .hidden-gnb .common-ul >li').off('click');    
         $(this).children('.common-a').css({'opacity':0});
      }    
    

    Fiddle demo

    【讨论】:

    • 感谢它几乎可以工作!不再有console.log("block") 和console.log("none")。但是当窗口变大时,'.common-a' 仍然有 opacity:0;价值 。我怎么知道这个?
    • @JoJay 是的,可能,我更新了一个答案,也许它可以解决你的问题。
    • 但刚才我解决了如下 $('.common-a').css({'opacity':1}); $('.hover-ul-inner').css('display','table'); $('#wrapping .hidden-gnb .common-ul >li').off('click');
    猜你喜欢
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 2010-10-13
    • 2017-04-26
    相关资源
    最近更新 更多