当前位置: 首页 > 知识库问答 >
问题:

未捕获的RangeError:最大调用堆栈大小超过chrome

轩辕煜
2023-03-14

我在chrome上收到错误“未捕获的范围错误:超出最大调用堆栈大小”。这是我的j查询函数

$(window).scroll(function(){
        if ($(this).scrollTop() < 170) {
            $('#main-nav').css('position', '');
            $('#fixed-header-icon').slideUp().addClass('remove');
            if ($('.ajelnews').length > 0) {
                $('.main-nav').removeClass('relative');
                $('.main-nav').css('top', '');
            }
            if (!$('#main-nav').hasClass('main-nav')) {
                $('#main-nav').removeClass("fixed-true");
                $(".close-fixed-header").css('display', 'none');
            }
        }
    });

从这行$(". close-固定头"). css('显示','无');

共有1个答案

岳时铭
2023-03-14
$(window).scroll(function(){
    if ($(this).scrollTop() < 170) {
        $('#main-nav').css('position', '');
        $('#fixed-header-icon').slideUp().addClass('remove');
        if ($('.ajelnews').length > 0) {
            $('.main-nav').removeClass('relative');
            $('.main-nav').css('top', '');
        }
        if (!$('#main-nav').hasClass('main-nav')) {
            $('#main-nav').removeClass("fixed-true");
            $(".close-fixed-header").css('display', 'none');
        }
    }
});

因为你在滚动函数中添加了一个监听器,你在里面做滑动,这会导致window.scroll位置的变化。这会导致循环并进入无限循环。

这就是你得到错误的地方。另一方面,你正在改变元素的显示属性。

当你改变显示位置时,会发生什么?

当css属性为任何元素指定< code>display:none时,该特定元素将从视图树或呈现树中消失。这意味着浏览器将从视图中移除该特定元素。

如果你把它设置回 display:block,树就会被改变,并将元素放回视图中。这会更改视图的高度和宽度,有时会导致滚动(取决于父级大小)。

 类似资料:
  • 问题内容: 我正在做反应,基本上我想用工具提示制作一个按钮,现在我正在制作工具提示。我正在更改css display属性,以使其在鼠标进入和离开时不可见。但是有一个错误,我不知道该怎么办… 这是我的代码: 在控制台中,我收到此错误: 我找不到问题所在。我知道这可能与调用一个函数有关,后者又调用另一个函数。但是我在代码中看不到这样的东西,而且不确定是否全部。感谢帮助 :) 问题答案: 每当您看到从函

  • 我在使用jQuery ajax时遇到了一个问题。我有javascript 这段代码产生错误“UncaughtRangeError:Maximum call stack size exceeded”,我不明白为什么。我没有触发器,我使用了preventDefault和stopPropagation,但我仍然有这个错误。有人能帮我吗?

  • 问题内容: 我想这意味着有一个循环引用,但是对于我的一生,我无法猜测如何解决它。 有人有主意吗? http://plnkr.co/edit/aNcBcU?p=预览 检查Chrome中的调试控制台(例如),您将看到错误。冒犯的行是 通过以下方式在控制器上对scope.map进行“ $ watched” 问题答案: 这是因为您要比较对象是否相等,而不是参考。将您的声明更改为此:

  • 这是我在React中的第一个应用程序。在localhost中,一切正常,当我使用Github Pages部署时,我的应用程序(Info/Images/evenements)中的一些页面无法呈现。每次单击他们的链接访问他们时,我都会在控制台上看到一个白色页面和此错误: range error:object . tostring处超出了最大调用堆栈大小 同样,当我刷新页面时,github pages返

  • 我将redux添加到我的项目中进行状态管理,在添加reducer之前一切都很好 我认为每个中间件功能的下一步(操作)都会导致问题,但我不知道如何修复它。 我使用的是React 17.0.2,React redux 7.2.3,redux 4.1.2。 动作-- 中间件-- 中间件-- 减速机 -- 商店.js:

  • 我在我的应用程序中使用react路由器v4。我正在开发一个仪表板,它有一个顶部导航,侧导航和主体布局。侧边导航有一个链接列表,当点击它的时候,它会转到它们的组件,并在另一个被称为主体的组件中呈现它们的组件。我已经将仪表板组件分解为顶部、侧面和主要部分。在索引中,我创建了一个路由列表,并将这些路由作为道具发送到主体,以便我可以呈现路由组件。 这样,我得到的误差为 已超出最大调用堆栈大小 为什么会这样