Sve*_*ven 13 javascript jquery scroll jquery-animate
我使用此代码滚动到我的页面上的某个元素:
$("html, body").animate({scrollTop: $(".myDiv").offset().top}, 300);
Run Code Online (Sandbox Code Playgroud)
它的工作原理,但有一个问题,它:当用户向下滚动而滚动剧本了,有一些颤动,因为有在不同的方向上同时有两个滚动命令 - 听起来逻辑性.
我检查了一些具有这种滚动功能的其他网站,没有动摇.那么防止这种情况的诀窍是什么?
Bar*_*din 13
当你使用滚动,良好的检测动画时,这是一个jQuery错误.
我做了一个研究如何关闭它滚动并找到这个问题:如何暂时禁用滚动?
这是jsFiddle.点击后你会看到; 用户无法滚动直到动画完成.
$('.myDiv').click(function(){
disable_scroll();
$('html, body').stop().animate({ scrollTop: 0 }, 700,function() {
enable_scroll();
});
});
Run Code Online (Sandbox Code Playgroud)
编辑:感谢galambalazs btw.