小编Jim*_*all的帖子

为什么.anan在动画之前会将scrollTop跳转到0?

我在那个耐克网站上玩Parallax滚动.所以我一直在使用scrollTop来确定用户在页面上的垂直位置,然后我一直根据对该值的更改调整元素的位置.

在这里,我舍入scrollTop值并记录它.我稍后会显示日志.

var distance = 60*(Math.round($(window).scrollTop()/60));
console.log(distance);
Run Code Online (Sandbox Code Playgroud)

然后,在单击时,我调用此函数滚动到我传递的scrollTop值.

function goTo(n){
    console.log('begin animating');
    $('html,body').animate({scrollTop: n},2000);
}
Run Code Online (Sandbox Code Playgroud)

这是问题,在动画制作之前,滚动顶部值会跳转到0.

所以我会在页面的中间位置记录下来:

begin animating
0
6240
6180
6120
// etc...
Run Code Online (Sandbox Code Playgroud)

我定位东西的方式依赖于scrollTop值的准确性.所以我的问题是:

在完成动画之前,如何让scrollTop值保持跳转到0?

如果需要更多信息,请告诉我.
以下是该网站的实时版本:http://theblueeyeguy.com/moon/Illumination/

(点击'下一步'然后'上一个'来打破它)

javascript jquery scrolltop parallax jquery-animate

2
推荐指数
1
解决办法
2761
查看次数

标签 统计

javascript ×1

jquery ×1

jquery-animate ×1

parallax ×1

scrolltop ×1