transitionend方法使用vanilla Javascript为无限滑块设置动画

时间:2017-08-21 10:20:18

标签: javascript carousel

我是这个社区的新手,首先,我借此机会感谢大家每天所做的精彩工作。

我正在尝试创建一个无限的手动轮播,在Netflix风格中,这是我到目前为止所做的一切代码的链接: https://codepen.io/A12584r/pen/OjvWYp?fref=gc

以下是相关的javascript:

ConnectionProperties

我试图使用vanilla Javascript transitionend事件,我想要实现的是当点击旋转木马的右箭头时,第一篇文章代替第三篇文章,反之亦然,当点击左箭头时旋转木马的最后一篇文章取代了第一篇文章。

为此,我使用marginLeft在我的轮播中的文章之间移动3和包含它们的div(这些也是3)通过JavaScript设置宽度为300%。

我的问题是,当我点击旋转木马箭头时,过渡已经完成,但它会立即回到原来的位置。

你们中的任何一个人都可以帮我弄清楚我错在哪里以及如何解决它?

1 个答案:

答案 0 :(得分:0)

在向左和向右移动的两个函数andareADestratransitionend中,您要为-100%事件添加事件侦听器。

此处理程序通过在每次向左或向右移动后将其重置为id="contenitore-galleria"来移除左边距偏移。

您可以通过编辑style="margin-left: 0"元素的内嵌样式来确认这是问题,如果设置-100%然后移动轮播,则返回andareASinistra位置。< / p>

所以它发生的原因是因为这是你明确告诉它的!删除andareADestrarendiContenitoreGalleria.style.marginLeft = '-' + 100 + '%';

中的行

{{1}}