不是很懂这个scrollLeft,scrollWidth,和这个ratio是怎么计算的,绕不过弯来

来源:3-5 轮播图组件

Spring_Yang

2019-06-27

const ratio = ev.target.scrollLeft * this.imgs.length / ev.target.scrollWidth;
this.currentIndex = Math.round(ratio);

写回答

2回答

工具分子

2019-07-29

括号的地方不对劲。但是语音还是对得上的。。。

ev.target 的宽度是整个sliders加在一起的宽度

ev.target.scrollLeft * (this.imgs.length / ev.target.scrollWidth;)

ev.target.scrollLeft * (图片个数/allWidth)

ev.target.scrollLeft * 1/单个图片width。

四舍五入

1
0

Spring_Yang

提问者

2019-06-27

想了一会想通了,scrollLeft /(一个image宽度)就是第几个图片了,我感觉这块不应该叫什么ratio, 容易让人误解为在求什么比率.

1
1
N加1次方
是的。。我总感觉说ration就应该是0-1之间的比例
2022-03-06
共1条回复

Angular 开发拼多多webapp 从基础到项目实战

高仿拼多多WebApp,带你在实战环境中学习Angular

1322 学习 · 451 问题

查看课程