【CSS】请问用transform写轮播图图效果,为什么实现不了跳转到第一张图???

前辈好,我今天用transform这个属性想实现轮播图效果,但是有个问题我一直解决不了,所以想请教一下前辈。。

这个是我的html结构,我在前后各加了两张
图片描述

然后我实现效果的时候,我一直无法实现当滑到最后一张时,让它瞬间跳到第2张,然后再滑到第三张,形成一个过渡效果

图片描述

上面那个跳转到第二张一直都没有作用,我不知道是怎么回事,这个逻辑应该没错吧,不知道到底是哪里出错了,

希望能得到前辈的指教,谢谢了!

PS:我还想问前辈,前辈,PC端提不提倡用CSS3写轮播图效果,因为如果用c3新属性的话,IE的话就直接无视了10以下了。IE9不支持c3动画

回答:

        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 这个事件。

以上是 【CSS】请问用transform写轮播图图效果,为什么实现不了跳转到第一张图??? 的全部内容, 来源链接: utcz.com/p/154706.html

回到顶部