jquery 错误在到达点后拍摄到顶部并复制图像

标签 jquery html css

我向我正在处理的网站添加了一些简单的 jquery,以便在用户滚动到屏幕上的某个点时让 2 个元素滑入 View 。动画会按照我的意愿进行,但是当我向下滚动到该区域时,就在动画结束之前,它会立即将我带到页面顶部。当我向下滚动时,动画已经完成,但它留下了看起来像是在它移动的区域中移动的文本的“副本”。我怎样才能阻止页面跳到顶部,我怎样才能阻止文本在它产生动画的地方留下一个副本?

这里是jquery

$(document).ready(function(){
        $(window).scroll(function(){
            if ($(this).scrollTop() > 1350) {
           $('#managecontent1').animate({left: '0px'},900);
           $('#managecontent2').animate({right: '0px'},900);
       }
            });
    });

这是文本复制的样子

enter image description here

提前致谢!

最佳答案

使用 jQuery 的 .off() 分离事件处理程序。

在下面的代码中使用了 .off() :

  • 结合 setTimeout() 在动画被触发前临时分离滚动处理程序,以降低滚动处理程序触发的频率
  • 在动画被触发后永久分离滚动处理程序。

Javascript:

$(function() {
    function scrollHandler() {
        $(window).off('scroll.managecontent');
        if ($(this).scrollTop() > 1350) {
            $('#managecontent1').animate({left: '0px'}, 900);
            $('#managecontent2').animate({right: '0px'}, 900);
        }
        else {
            setTimeout(observeScroll, 200);//Adjust timeout to maximum acceptable value. 200 ms shouldn't be too far off the mark.
        }
    }
    function observeScroll() {
        $(window).on('scroll.managecontent', scrollHandler);
    }
    observeScroll();
});

这可能会也可能不会解决问题。

关于jquery 错误在到达点后拍摄到顶部并复制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15280526/

相关文章:

javascript - jquery设置选中的选择选项;不适用于动态添加的选项,但适用于静态选项

jquery - 在 IE 中使用 jQuery 获取属性

javascript - 仅使用 javascript 对 html 元素进行排序的问题

javascript - 如何为 meteor 中的动态按钮编写 onclick 功能

html - 在 CSS 中堆叠元素无法按预期工作

javascript - 4-5 秒后球停止弹跳

javascript - 我们可以在 jquery 的 .each 中使用 .each 吗?

javascript - 如果元素没有特定类的父元素

javascript - CSS [attribute=value] 选择器没有被应用

javascript - 为什么我的代码中未定义单元格名称属性