前几天尝试了写无缝滚动的图片轮播,简单记录下经验。
- 纸上得来终觉浅,绝知此事要躬行。
- 实现这个效果,最终采取了幕课网上的方式,在第一张前放第五张的图片,在第五张图片后放第一张,在动画完成后直接跳转。如果不是这种方式,首尾要同时满足两条件,需要写判断:
if(parseInt(list.style.left)===0&&offset>0){function go(){code...}}
if(parseInt(list.style.left)===len*(-5)&&offset<0){function go(){code...}} go()由上可见,不够简洁,在图片加载压力不大的情况下,还是前者方式更优雅。
- 控制动画过程很重要,在一个动画完成之前不应该进行下个动作。
- 如果想取消浏览器选中文本变蓝的行为,可以改变元素的onselectstart事件。
- 自定义的属性必须使用getAttribute()方法。
- 鼠标离开事件不能马上执行,最好先执行一次。