我正在使用此代码,以便在页面加载时向下滚动页面:
$(function(){
$('html, body').delay(2000).animate({
scrollTop: $('.myDiv').offset().top
}, 2000);
return false;
});
当页面加载时,我用动画滚动当前它会发生冲突。如何在延迟期间或动画开始之前禁用滚动。
我搜索过并找到了几个如何禁用click function滚动的示例,但我无法在我的代码中实现它。
谢谢。我真的希望你能帮助我。请原谅我的英语。
答案 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函数,这可能更适合某些用例。