el-table 如何实现自动滚动,为什么0+1赋值后结果是0.6666666865348816?-灵析社区

博学的学渣

// 获取表格滚动区域的dom const scrollDom = tableRef.value.$refs.bodyWrapper.getElementsByClassName('el-scrollbar__wrap')[0]; timer = setInterval(() => { if (status && props.listData.length > 0) { // 设置每次滚动的像素 scrollDom.scrollTop = scrollDom.scrollTop + step.value; console.log(scrollDom.scrollTop); // 当滚动到底部时修改scrollTop回到顶部 if (scrollDom.scrollHeight - (scrollDom.clientHeight + scrollDom.scrollTop) < 1) { scrollDom.scrollTop = 0; } } }, 15); ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241120/13cf3ef9f005d9f468aafa970199b44a.png) ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241120/2bca36a3026376d56bed087e27e1d4be.png) ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241120/e67ed41ff2e3cfda303914daee4c1c2f.png) 如图: scrollDom.scrollTop = 0;step.value = 1; 为什么相加后赋值结果是0.6666666865348816 已经排除精度丢失的原因,还能是因为什么呢

阅读量:69

点赞量:0

问AI
满脑子智慧溢出
step的赋值逻辑没看到 scrollTop取的是dom元素垂直方向滚动距离, 0 + 1没有误差,那只可能是 + 1的时候scrollTop不是0 对scrollTop取值可以做个取整操作