javascript - 无法弄清楚我的 Carousel 出了什么问题

标签 javascript animation prototypejs prepend

我使用 Prototype.js 构建了一个图像轮播 - 是的,我知道它已经过时了,而且有一百万个 jQuery 轮播,但我们的平台有很多遗留的 Prototype 代码,我们无法升级。

轮播几乎可以工作,但有一个我无法弄清楚的错误。单击“下一个”按钮始终会完美地滑入下一个图像,但单击“上一个”按钮有时会起作用。上一张图像始终放在开头,但动画中的滑动并不总是发生。

当按下“下一张”时,第一张幻灯片会使用 margin-left 偏移其宽度,因此它会滑出 View ,然后将其附加到队列的末尾,并将其 margin-left 重置为0.

当按下“上一张”时,最后一张幻灯片将被添加到队列的前面,然后使用其宽度向左偏移,然后通过删除偏移量滑入到位。

Here's a fiddle任何帮助将非常感激

我认为问题在于,有时将最后一张幻灯片的 margin-left 重置为 0 的函数在偏移之前被调用,因此它只出现在前面。

最佳答案

事实证明,解决这个问题非常简单,我将幻灯片转换的时间从 0.5 秒更改为 1 秒,然后错误就消失了。仍然不是 100% 确定原因,但我认为与下一张幻灯片相比,为上一张幻灯片制作动画时,这些函数需要更长的时间,因此需要更多的时间来跟上自身以避免摔倒。

关于javascript - 无法弄清楚我的 Carousel 出了什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33671270/

相关文章:

php - 发送 header 后关闭网页(php)

javascript - jQuery 智能搜索显示/隐藏内容元素

javascript - javascript 字符串转义引号

javascript - 如何制作不出错的透明 Canvas ?

javascript - 如何在Javascript中实现 "Drag-Select"功能?

javascript - 在 html anchor 中返回 false 不会返回 false

javascript - <select> 元素并观察 ('click' ) 选项切换 option.selected

javascript - Socket.io 如何通过昵称列出房间中的套接字

java - 在小程序上显示旋转的风扇

javascript - jQuery Mobile - 单击后 PreventDefault 后的按钮样式