【问题标题】:Disable a jQuery function at a certain screen width在特定屏幕宽度处禁用 jQuery 函数
【发布时间】:2016-06-13 10:22:15
【问题描述】:

我一直在编写一段 jQuery 代码,但我无法让它按照我想要的方式工作。基本上,我希望在 768px 的屏幕宽度以下完全禁用这个 jQuery 代码。

代码如下:

$(document).ready(function () {
    $(".resp-menu-btn").click(function () {

        if ($('.resp-menu-btn').is(':animated')) {
            return;
        }

        if ($('.site-nav').css('display') == 'none') {
            $().stop().slideToggle({ "display": "block"}, 600);
            $('.site-nav ').stop().slideToggle(600);
        }

        else {
            $().animate({"display": "none"}, 600);
            $('.site-nav').slideToggle(600);
        }

    });
});

我尝试了一些类似的方法:

if(window.innerWidth < 768px) return true;
else return false;

if ( $(window).width() > 768) { 
myCode 
}

但似乎没有任何效果。

你们能给我一些关于如何实现我正在寻找的结果的指示吗?非常感谢!

【问题讨论】:

    标签: jquery window width


    【解决方案1】:

    你试过没有“px”的语句吗?我的意思是你应该这样使用

     if(window.innerWidth() < 768) return true; else return false;
    

    window.innerWidth 属性是只读的。

    【讨论】:

    • 我刚刚尝试过,但目前还没有机会。我想我可能会在我的代码中错误地使用它。我会尝试调整直到它起作用。谢谢!
    【解决方案2】:

    我不知道你为什么要这样做,但是你可以在 768px 之后取消绑定按钮元素的点击事件。

    $(window).scroll(onScroll);
    
    function onScroll(){
        if($(window).scrollTop >= 768){
            $(".resp-menu-btn").off('click');
            $(window).off('scroll');
        }
    };
    

    如果你想绑定其他函数到这个元素,你可以重新绑定到另一个函数来进行点击事件。

    【讨论】:

    • 这里有一个有趣的选项,我试试看!非常感谢!
    猜你喜欢
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 2023-01-01
    相关资源
    最近更新 更多