我对视差组件的疑惑

来源: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 的间隙的。


0
0

混合开发入门 Vue结合Android/iOS开发仿京东项目App

流行的混合开发实战入门,前端和原生开发同学不容错过

1108 学习 · 448 问题

查看课程