javascript - 循环使用 translate3d 制作的旋转木马

标签 javascript html css dom

我有一个旋转木马,它具有使用 translate3d 制作的拖动选项。考虑到使用 translate3d 转到下一张幻灯片,我最终翻译到轮播的末尾。你能帮我找到解决办法吗?

下一张幻灯片逻辑:

    goNext() {
    this.carousel.style.transform = `translate3d(${-(++this.elementIndex * this.album.clientWidth)}px,0,0);
    }

当我到达旋转木马的尽头时: 我知道我可以在最后转换为 0,但我希望在最后一张幻灯片上保留拖动选项并能够拖动到第一张幻灯片,就像下一张幻灯片一样。有什么想法吗?

最佳答案

诀窍是:

  • 将最后一张图片的克隆放在轮播的开头,将第一张图片的克隆放在轮播的结尾(在初始化期间)。

    5 [1 2 3 4 5] 1

  • 当用户在最后一张幻灯片上单击“下一步”时,您应该将它切换到没有动画的第一张幻灯片(克隆“5”),然后您可以将其转换为有动画的“1”

    1) 5 1 2 3 4 [5] 1

    2) [5] 1 2 3 4 5 1

    3) 5 [1] 2 3 4 5 1

关于javascript - 循环使用 translate3d 制作的旋转木马,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55276787/

相关文章:

html - 无法取消嵌套元素的行

javascript - 显示标签和布局的 Bootstrap 问题

html - css 不透明度影响同级不透明度

javascript - JavaScript 文件顶部的多个导入语句

javascript - 无法使用 jquery 脚本调用问题

html - CSS:在单个表格中设置所有链接样式的正确方法是什么?

javascript - 使用 HTML、CSS 和 JS 创建一个在滚动时缩小的固定标题

javascript - 使用 jQuery .click 关闭 slider

javascript - 页面刷新后如何注销用户?

javascript - 如何使用 CSS 将 Google Charts 注释移动到顶部或任何位置?