javascript - 滚动()变得很大滞后

标签 javascript jquery html css

我正在尝试使用 jquery 为我的菜单制作动画 - 只需根据滚动更改填充。它工作正常,但执行时间非常长(1-10 秒)。有任何想法吗?我试过 .on('scroll') 但没有改变。

在 Chrome 和 Firefox 上。

有趣的事情——如果我添加 alert(v);在第 3 行之后确定滚动位置,它动画效果很好,没有任何滞后;x

    <script>
        $(window).scroll(function() {
            var v = $(window).scrollTop();
            if (v >= 150) {
                $('#header').animate({"padding": "15px 0px"},500);
            }
            else if (v < 150 ) {
                $('#header').animate({"padding": "50px 0x"},500);
            }
        });
    </script>

你可以在这里看到问题: http://monsiorski.com/_projects/robson/

最佳答案

<script>
    var isScrolled = false;
    $(window).scroll(function() {
        var v = $(window).scrollTop();
        if (v >= 150 && !isScrolled) {
            $('#header').animate({"padding": "15px 0px"},500);
            isScrolled = true;
        }
        else if (v < 150 && isScrolled) {
            $('#header').animate({"padding": "50px 0x"},500);
            isScrolled = false;
        }
    });
</script>

关于javascript - 滚动()变得很大滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47756400/

相关文章:

javascript - 如何延迟执行函数,underscorejs/lodash

javascript - CKEditor激活时如何显示占位符

javascript - 我如何计算Javascript中字符串之间的时间差

javascript - 使用 CSS 为按钮添加固定宽度

php - 功能 Wordpress 在灯箱中打开图像

javascript - Uncaught ReferenceError : (given function) is not defined

javascript - 如何删除 ""(空字符串)的 JSON 元素?

jquery - 单击相同的div时如何在向上应用相同的动画?

javascript - 使用 jQuery 设置新的 id

html - IE9 在使用页面 anchor 链接点击后打开新标签