insertAfter()缓慢或根本无法与resize()事件一起使用

时间:2019-05-06 10:04:28

标签: jquery

当我调整浏览器的大小时,除insertafter()和appendto()之外,函数中的所有内容均有效,但如果我调整窗口的速度非常慢(有时!),它们将起作用,但是我需要它在击中后立即起作用调整大小标记。我该怎么办?

我有以下代码:

    responsiveMenu: function () {
        if ((window).matchMedia("(min-width: 767.98px)").matches) {
            $("#headerSearch").insertAfter(".search-field--webb");
            $(".list-item").removeClass("without-before-element").addClass("d-flex");
            $("a.d-block").removeClass("p-2");
        }else {
            $("#headerSearch").appendTo(".search-field--mobile");
            $(".hamburgermenu-button").addClass("collapsed");
            $('.extended-navigation').removeClass('show');
            $(".list-item").addClass("without-before-element").removeClass("d-flex");
            $("a.d-block").not('.watchlist-mobile').addClass("p-2");
        }
    }

我用以下代码运行它:

        $(window).on('resize', function(){
            if((window).matchMedia("(min-width: 766.98px)").matches){
                Blabla.responsiveMenu();
            };
        });

但是,正如我所说的,除非insertAfter()和appendTo()能够正常工作,否则响应菜单函数中的所有内容都会立即起作用,除非有时我调整大小的速度很慢。还有另一种方法可以使DOM元素以一定的宽度切换吗?根据屏幕的大小,这是我从一个地方移到另一个地方的一个元素。

0 个答案:

没有答案