我是这个社区的新手,首先,我借此机会感谢大家每天所做的精彩工作。
我正在尝试创建一个无限的手动轮播,在Netflix风格中,这是我到目前为止所做的一切代码的链接: https://codepen.io/A12584r/pen/OjvWYp?fref=gc
以下是相关的javascript:
ConnectionProperties
我试图使用vanilla Javascript transitionend事件,我想要实现的是当点击旋转木马的右箭头时,第一篇文章代替第三篇文章,反之亦然,当点击左箭头时旋转木马的最后一篇文章取代了第一篇文章。
为此,我使用marginLeft在我的轮播中的文章之间移动3和包含它们的div(这些也是3)通过JavaScript设置宽度为300%。
我的问题是,当我点击旋转木马箭头时,过渡已经完成,但它会立即回到原来的位置。
你们中的任何一个人都可以帮我弄清楚我错在哪里以及如何解决它?
答案 0 :(得分:0)
在向左和向右移动的两个函数andareADestra
和transitionend
中,您要为-100%
事件添加事件侦听器。
此处理程序通过在每次向左或向右移动后将其重置为id="contenitore-galleria"
来移除左边距偏移。
您可以通过编辑style="margin-left: 0"
元素的内嵌样式来确认这是问题,如果设置-100%
然后移动轮播,则返回andareASinistra
位置。< / p>
所以它发生的原因是因为这是你明确告诉它的!删除andareADestra
和rendiContenitoreGalleria.style.marginLeft = '-' + 100 + '%';
{{1}}