移除transition后,设置一个属性(位置),再添加transition,位置还是有过渡效果

在写无缝轮播图遇到的一个问题,

思路是想在最后一页(第一页的克隆)的时候移除过渡,然后跳转到第一页,再添加过渡到第二页,但是实际过程中直接是过渡到第二页。

找到一个解决方案就是添加一个定时器给添加过渡的部分,相当于移除后等了一下再添加,这样是可以的,但是不知道上面为什么不行

ul.classList.remove("transition");  
ul.style.transform \= "translateX(0px)";  
ul.classList.add("transition");  
index++;  
bannerlist.style.transform \= "translateX("+(-bannerWidth\*index)+"px)";
阅读 4k
3 个回答

http://jsrun.pro/IuWKp/edit

浏览器把操作合并了。解决方案也是有的,触发浏览器的DOM计算
定时器的方案也是可以的,但是我之前iframe的src改变的时候,定时器没更新过来。

触发一下重绘就可以了,比如直接调用

dom.offsetWidth;

无缝轮播图可以用css动画也可以实现,最后一页与第一页一样,当动画走到倒数第二页时候,直接切回第一页就可以了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题