Exceute代码只显示特定的窗口大小,而不重新编码页面jQuery或javascript

Exceute代码只显示特定的窗口大小,而不重新编码页面jQuery或javascript,javascript,jquery,html,Javascript,Jquery,Html,我试图在窗口大小达到一定宽度时运行此代码。 这段代码正在加载页面,我希望它在用户调整浏览器窗口大小时运行 if ($(window).width() > 1023) { $('.has-children').children('a').on('click', function(event){ if( !checkWindowWidth() ) event.preventDefault(); var selected = $(t

我试图在窗口大小达到一定宽度时运行此代码。 这段代码正在加载页面,我希望它在用户调整浏览器窗口大小时运行

if ($(window).width() > 1023) {
        $('.has-children').children('a').on('click', function(event){
            if( !checkWindowWidth() ) event.preventDefault();
            var selected = $(this);
            if( selected.next('ul').hasClass('is-hidden') ) {
                selected.addClass('selected').next('ul').removeClass('is-hidden').end().parent('.has-children').parent('ul').addClass('moves-out');
                selected.parent('.has-children').siblings('.has-children').children('ul').addClass('is-hidden').end().children('a').removeClass('selected');
                $('.insided-overlay').addClass('is-visible');
            } else {
                selected.removeClass('selected').next('ul').addClass('is-hidden').end().parent('.has-children').parent('ul').removeClass('moves-out');
                $('.insided-overlay').removeClass('is-visible');

            }
        });
    }
有人能帮我吗?我怎样才能做到


谢谢

请尝试按以下方式编写此脚本:

$('.has-children').children('a').on('click', function(event){
    if($(window).width() > 1023) {
        if( !checkWindowWidth() ) event.preventDefault();
        var selected = $(this);
        if( selected.next('ul').hasClass('is-hidden') ) {
            selected.addClass('selected').next('ul').removeClass('is-hidden').end().parent('.has-children').parent('ul').addClass('moves-out');
            selected.parent('.has-children').siblings('.has-children').children('ul').addClass('is-hidden').end().children('a').removeClass('selected');
            $('.insided-overlay').addClass('is-visible');
        } else {
            selected.removeClass('selected').next('ul').addClass('is-hidden').end().parent('.has-children').parent('ul').removeClass('moves-out');
            $('.insided-overlay').removeClass('is-visible');
        }
    }
});
我希望这会对你很好


谢谢…

此代码只会在页面加载时检查
$(window).width()
。您是否尝试过将此检查放在('click')处理程序的
.on('click')
处理程序中?如果我没有这样尝试,请给我举个例子。我该怎么做?感谢
$(选择器).on('click',function(){if($(window.width)>1023){biger window stuff}else{minger window stuff})
这将在用户每次调整窗口大小时重新绑定('click')处理程序上的
。不是很有效。我刚刚编辑了我的答案。请把它放到你的代码中检查一下。您只需在点击“$('.has children').children('a')”时检查窗口宽度。我希望这对您有效。您只需在单击按钮时检查窗口宽度,无需更改窗口大小。onclick工作正常,但问题是当单击宽度小于1023的窗口时,它会显示具有不同样式的下拉列表,如果从这里将窗口大小调整为767,则还需要1023的样式。所以菜单看起来一团糟。如果不重新加载,则不会显示小于767的页面样式。