gpt4 book ai didi

javascript - 为什么这个 .js 脚本停止工作并导致浏览器卡住?

转载 作者:太空宇宙 更新时间:2023-11-04 15:35:49 24 4
gpt4 key购买 nike

我已经下载了这个Drupal 8 template该网站位于www.plotujeme.sk 。它具有带有此 .js 脚本的响应式导航:

function sidebar_menu() {

var windowsize = jQuerywindow.width(),
jQuerynav = jQuery("nav"),
slide = {
clear: function () {
jQuerybody.removeClass('toggled');
jQuery('.overlay').hide();
jQuery('.easy-sidebar-toggle').prependTo("header");
//jQuery('#search').prependTo("body");
jQuery('.navbar.easy-sidebar').removeClass('toggled');
jQuery('#navbar').removeAttr("style");
},
start: function () {
jQuery('.overlay').show();
jQuerybody.addClass('toggled');
jQueryhtml.addClass('easy-sidebar-active');
jQuerynav.addClass('easy-sidebar');
jQuery('.easy-sidebar-toggle').prependTo(".easy-sidebar");
//jQuery('#search').prependTo("#navbar");
jQuery('#navbar').height(jQuerywindow.height()).css({
"padding-top": "60px"
});
},
remove: function () {
jQuerynav.removeClass('easy-sidebar');
}
};

if (windowsize < 1003) {

jQuerynav.addClass('easy-sidebar');
jQuery('.easy-sidebar-toggle').on("click", function (e) {
e.preventDefault();
if (jQuerybody.hasClass('toggled')) {
slide.clear();
} else {
slide.start();
}
});

/*
jQueryhtml.on('swiperight', function () {
slide.start();
});

jQueryhtml.on('swipeleft', function () {
slide.clear();
}); */

} else {
slide.clear();
slide.remove();
}
}

和:

jQuery(document).ready(function () {
"use strict";

sidebar_menu();

jQuery(window).resize(function () {
sidebar_menu();
});
});

问题是,如果我通过单击汉堡包按钮打开响应式导航,它会工作几次,然后停止工作,页面和浏览器会卡住或长时间无响应。我还注意到(即使在模板预览中)有时它根本不起作用,并且单击汉堡包图标后没有任何反应。当我多次调整窗口大小时,有时会起作用,有时则不起作用。

您是否发现脚本中存在任何可能导致此问题的错误?

<小时/>

更新:我还尝试在 jQuery( '.easy-sidebar-toggle').on("click", function() {...}); 但得到了相同的结果。

最佳答案

jQuery(window).resize(function () {
sidebar_menu();
});

因此,每当 sidebar_menu 函数改变窗口大小时,该函数就会被一次又一次调用,就像递归一样,从而导致卡住

关于javascript - 为什么这个 .js 脚本停止工作并导致浏览器卡住?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44367757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com