javascript - 在轮播上滑动图像时出现奇怪的行为

标签 javascript jquery slide

我制作了一个 jsfiddle,以便您可以重现该错误: FIDDLE

我实现了一个轮播来显示 3 张图像。有一个当前图像(正在显示的图像),另外两个图像保持隐藏状态,直到我单击其中一个横向箭头,导致下一个图像从覆盖(现在是上一个)当前图像的一侧滑动。

我花了两个小时试图弄清楚为什么在某些特定的“过渡”中动画似乎不起作用。例如,当单击向左箭头从第一个图像传递到第二个图像以及从第二个图像传递到第三个图像时,动画工作正常,但是当再次单击它时,从 3 到 1 的过渡不会执行幻灯片动画。当沿相反方向移动时(使用右箭头),仅对一个过渡进行动画处理。我认为问题与点击事件处理函数中的 if 有关,但无法找出导致该问题的原因。 任何帮助将不胜感激。

TIA

最佳答案

这里的根本问题与三个图像的 z 顺序有关。您的幻灯片动画仅在滑入的图像位于显示图像上方的情况下显示; “损坏的”过渡实际上正在发生,它们只是被“更高的”可见图像遮盖了。

您可以通过显式设置新图像和当前图像的 z 索引来解决此问题。例如,在右侧过渡中:

    prevLandscape.zIndex(1);
    currLandscape.zIndex(0);

如果您这样做,您还需要增加箭头的 z 索引,以便它们位于图像上方。

Fiddle

关于javascript - 在轮播上滑动图像时出现奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29665455/

相关文章:

javascript - jquery find ('>' 的含义和用法)

php - 通过引用传递还是重新分配?哪个更好/更有效率/等等?

ios - 在 UITableViewCell 中滑动 UIView

jQuery - 为什么上下滑动有震动而不是平滑?

jquery - 如何将 jQuery 的动画过渡从线性更改为二次

javascript - 使多回调与 jQuery $.when 同步

javascript - Electron 无法获取资源 (.swf)

javascript - 设置 cookie 并在第一次访问时显示 div 然后隐藏

javascript - jquery-ui 可排序占位符位置错误

javascript - CheckBoxes React Native Map函数返回错误: Too many re-renders. React限制渲染数量以防止无限循环