jQuery 无限轮播 : Slide # 2 replaced by Slide # 3 on first iteration

标签 jquery html css carousel infinite-carousel

我正在构建一个无限的 jQuery 轮播。无限是它在向用户显示最终幻灯片后立即显示第一张幻灯片。为此,我在完成后回调函数中做了这个小调整

$('#slide li:last').after('#slide li:first')

这基本上就是让无限幻灯片放映发生的原因。但是,它特别弄乱了第二张幻灯片。在从幻灯片 1 到幻灯片 2 的第一次迭代中,幻灯片 2 被幻灯片 3 取代(而且发生得非常快)。每个后续迭代都可以正常工作,幻灯片 2 将自身呈现为幻灯片 2 而不是幻灯片 3。

要进一步了解此示例,请查看以下捕获所有必要的 HTML、CSS 和 jQuery 的 js fiddle。

jsfiddle for jQuery infinite carousel/slideshow

有人知道怎么回事吗:)?

最佳答案

它的发生是因为在动画完成后,您要从 ul 的开头删除 li 并将其放在末尾,从而重置 left_indent 为 1 元素的倍数。

一个简单的解决方法是使用 $('#slides ul').css({'left': 0}); 而不是 $('#slides ul')。 css({'left': -item_width});

jsfiddle

关于jQuery 无限轮播 : Slide # 2 replaced by Slide # 3 on first iteration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557253/

相关文章:

变量内部的javascript三元运算符

javascript - 在输入字段之间切换时自动提交输入值 > 焦点丢失

html - 我如何手动选择换行符,并让 CSS 使包含的 div 足够宽以容纳它们?

javascript - 使用 css() 获取样式属性值

javascript - jQuery Mobile 页面转换不起作用

javascript - 为什么我总是无法通过 javascript 对复选框进行复选标记?

javascript - 如何显示弹出窗口

css - 自定义 css x 类型列表 Sencha

css - 删除 css 包中的注释而不缩小文件

html - 固定菜单悬停需要 CSS 样式