我对视差组件的疑惑
来源:7-9 视差组件开发

fya0122
2019-09-01
关于视察组件的疑问,
老师你好,
在parallax.vue这个组件中,
我们的SPEED_DIFF一开始默认是2的
这会导致上方的swiper区域,一开始就留有2px的间隙,
我认为这是不妥的,
能否在onScrollChange这个method中判断下,
if (this.parallaxScroll > 0) { // 这个是我们滚动的距离
this.SPEED_DIFF = 2
} else if (this.parallaxScroll === 0) { // 当我们滚动回来的时候,间隙正好也不存在了,能否这样吗?
this.SPEED_DIFF = 0
}
写回答
1回答
-
Sunday
2019-09-01
你好。非常感谢你能提出疑问。
对于 SPEED_DIFF 它表示的是滑动的速度差。当正常移动区开始滑动的时候,我们通过这个速度差来去计算缓慢移动区的滑动速度(slowTop)。
计算的规则如下:(this.parallaxScroll 表示正常移动区的滚动距离)
(this.parallaxScroll - (this.parallaxScroll / this.SPEED_DIFF)) + 'px';
在正常移动区没有开始移动的时候,该公式对应的计算应为:
(0 - (0 / 2)) + 'px' = 0px;
那么在这个这个公式下,当页面没有开始滑动的时候,slowTop 它应该不会存在 2px 的间隙的。
00
相似问题