如何使用jQuery阻止/禁用页面加载上的滚动秒数?

时间:2015-03-28 21:30:33

标签: jquery scroll load

我正在使用此代码,以便在页面加载时向下滚动页面:

    $(function(){
            $('html, body').delay(2000).animate({
                scrollTop: $('.myDiv').offset().top
            }, 2000);
            return false;
        });

当页面加载时,我用动画滚动当前它会发生冲突。如何在延迟期间或动画开始之前禁用滚动。

我搜索过并找到了几个如何禁用click function滚动的示例,但我无法在我的代码中实现它。

谢谢。我真的希望你能帮助我。请原谅我的英语。

1 个答案:

答案 0 :(得分:1)

通过将溢出设置为隐藏

来隐藏页面加载时的滚动
html, body {
  overflow: hidden;
}

运行settimeout 2秒钟,然后将overflow设置为auto,然后像这样设置动画

$(function(){
  setTimeout(function(){
    $('html, body')
    .css({
      'overflow': 'auto'
    })
    .animate({
      scrollTop: $('.myDiv').offset().top
    }, 2000);
  }, 2000);
});

这是demo

使用延迟很好,但其功能有限,如文档here

中所述
  

.delay()方法最适合延迟排队的jQuery效果。因为它是有限的 - 例如,它没有提供取消延迟的方法 - .delay()不能替代JavaScript的本机setTimeout函数,这可能更适合某些用例。