【问题标题】:animate scrollTop fires scroll eventanimate scrollTop 触发滚动事件
【发布时间】:2013-03-15 14:46:55
【问题描述】:

我有一些代码可以监听页面的滚动,它负责两件事,当“页面”发生变化时执行必要的操作(有效),但也会将 scrollTop 动画到最近的“页面”,但在这样做会触发滚动事件,因此它会依次爬过所有“页面”,直到到达文档的末尾。

如何阻止动画 scrollTop 触发滚动事件?有没有可能?

“pages” 因为这是一个 iPad html 页面,每个 1024x768 视图都是一个“page”

【问题讨论】:

    标签: javascript jquery html events


    【解决方案1】:

    您可以在这篇文章中找到答案:https://stackoverflow.com/a/1659231/237838

    您可以编写自己的代码来设置动画值,并设置 指示更改来自动画的标志。

    例如:(未测试)

    var scrollAnimating = false
    jQuery.fx.step.scrollTop = function(E) {
        scrollAnimating = true;
        E.elem.scrollTop = E.now;
        scrollAnimating = false;
    };
    
    $('#gototop').click(function() {
        $('body').animate({scrollTop:0},3000);
        $(window).scroll(function () {
            if (!scrollAnimating)
                $('body').stop();
        });
        return false;
    })
    

    【讨论】:

    • 感谢您编辑署名。然而,现在你的帖子真的只值得评论,而不是答案;你真的需要在你的答案中包含你自己的信息——不仅仅是复制和粘贴别人的代码——即使你包括了归属。
    • 这个测试过吗,如果可以,您可以粘贴演示网址吗?
    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    相关资源
    最近更新 更多