我使用 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/