1 回答
TA贡献1817条经验 获得超6个赞
function play()
{
index++;
car.style.transition = 'transform 1s ease';
car.style.transform = 'translateX(' + (-index * 600) + 'px)';
car.addEventListener('transitionend', function()
{
//从边界到边界过渡以后切回正确位置
if (index == 4)
{
index = 1;
car.style.transition = 'none';
car.style.transform = 'translateX(' + (-index * 600) + 'px)';
}
})
}
逻辑还是有问题的。
前后各加一张图的做法思路是从保证边界图片到边界图片(3->1或1->3)的切换效果不变,在切换后瞬间改变图片位置到正确位置。
你的 index > 3 就错了,实现不了 3->1。
为了避免动画时间和计时器时间重叠,用了 transitionend 这个事件。
添加回答
举报