在用户完成滚动主体后为scrollTop动画
Animate scrollTop after user finished scrolling body
当设置以下CSS时,我很难让scrollTop
在body
上工作:
html, body { height: 100%; }
html { overflow: hidden; }
body { overflow: auto; }
我想要实现的是页面总是滚动到150px的网格。例如,如果用户向下滚动161px的页面,在他们完成滚动后,页面将自动滚动回150px。
下面是目前为止的代码://timer
var timer = null;
//body scroll
$('body').scroll(function(){
//clear timer
if (timer !== null) clearTimeout(timer);
//set timer
timer = setTimeout(function() {
//scroll calculations
var sectionOffset = $('body').scrollTop(),
scrollAmount = Math.round(sectionOffset/150) * 150,
scrollPx = scrollAmount + 'px';
//lock to grid
$('body').animate({scrollTop:scrollPx},200,'linear');
},300);
});
和一个提琴显示它不工作:http://jsfiddle.net/swjabxqq/1/
我已经在其他CSS情况下测试了代码,它确实有效。当CSS如上所述设置时,我如何使用JS/jQuery滚动body ?
删除此CSS:
html { overflow: hidden; }
body { overflow: auto; }
和改变
$('body').scroll(function(){
:
$(window).scroll(function(){
演示小提琴
相关文章:
- Jquery scrollTop动画不工作"无法读取属性'top'无风
- 使用jQuery使scrollTop动画化
- scrollTop按钮没有't设置动画
- jQuery scrollTop没有'不能在FF或IE中制作动画,但在chrome中效果良好
- 动画(绑定到 scrollTop)仅在我停止滚动时完成
- jQuery scrollTop 动画返回 Uncatch TypeError
- scrollTop() 和类似幻灯片的动画
- jQuery ScrollTop() 函数动画菜单
- 在没有jank的固定高度溢出中设置scrollTop动画
- Scrolltop()(不能反转动画)
- javascript动画ScrollTop随机工作
- 使用Web动画制作DOM属性(scrollTop)的动画
- 如何在鼠标悬停时暂停.scrollTop()动画?(包括jsfiddle)
- 动画scrollTop突然停止工作
- Mirco在使用scrollTop jquery动画时跳转
- JQuery scrollTop在Chrome中的动画波涛汹涌
- scrollTop动画在chrome中是滞后的,但在firefox中工作得很好(背景尺寸:封面问题?)
- scrollTop动画的问题
- 在用户完成滚动主体后为scrollTop动画
- scrollTop ();动画的问题