如果($(window).width()不起作用,则忽略浏览器上的条件是否调整大小

时间:2015-03-20 17:45:15

标签: jquery window width slidetoggle

我有一个(臭名昭着的)汉堡包按钮,可在较小的设备上打开一个下拉菜单。由于slideToggle仅在视口宽度小于999px时才能单击,我的方法如下:

$(document).ready(function () {
    if ($(window).width() < 1000) {
        $("#mainNav a").click(function () {
            $("#mainNav").slideToggle(300);
        });
    }
});

这实际上就像魅力一样,但是,当调整窗口大小时,从1000px宽度到上面,slideToggle也会影响常规桌面菜单。

我认为我使用了错误的监听器并且已经尝试过

$( window ).resize(function() {

但无法使其发挥作用。我很确定答案就在附近。提前谢谢!

1 个答案:

答案 0 :(得分:0)

子选择器是这样写的。

$(document).ready(function () {
    if ($(window).width() < 1000) {
        $("#mainNav").on('click','a',function() {
            $("#mainNav").slideToggle(300);

        });
    }


});

如果您调整窗口大小,请确保在每个视口重新加载网页。这样它实际上显示了实际输出。 也可以使用媒体查询。 (建议)