看到这个小提琴:http://jsfiddle.net/r0mvyLmx/
我必须从头开始编写一个简单的jQuery水平轮播,但我偶然发现了以下问题:当按下下一个按钮时,当前元素滑出视图就好了,但下一个元素没有滑动只有在前一个元素完全不在视图之后才显示。如果你不理解我,那就是我之后的效果:http://jsfiddle.net/yvD5S/(下一张和之前的幻灯片同时滑动)。
这是我的代码:
$('#carousel-outer button:last').on('click', function () {
var slide = $('#carousel-inner .item.active');
slide.animate({'margin-left':'-480px'},2000,function() {
slide.css({ 'margin-left': 0 });
slide.parent().find('div:last').after(slide);
slide.removeClass('active');
slide.parent().find('div:first').addClass('active');
});
});
答案 0 :(得分:0)
CSS:
#carousel-outer {
width: 480px;
margin: 0 auto;
overflow: hidden;
}
#carousel-inner {
width: 1600px;
height: 200px;
overflow: hidden;
}
jQuery更改:
$('#carousel-outer button:last').on('click', function () {
var slide = $('#carousel-inner .item.active');
slide.next().addClass('active');
slide.animate({'margin-left':'-480px'},2000,function() {
slide.css({ 'margin-left': 0 });
slide.parent().find('div:last').after(slide);
slide.removeClass('active');
});