我在试着做一个无限的旋转木马。我的html里有这个:
<div class="logo-mini-scroller floatInner toLeft">
<span class="_l toLeft">
<a href="javascript:void(0)"></a>
</span>
<div id="carousel_inner">
<ul class="_cont toLeft" id="carousel_ul">
<li class="mini-1">
<a href="#"></a>
</li>
<li class="mini-2">
<a href="#"></a>
</li>
<li class="mini-3">
<a href="#"></a>
</li>
</ul>
</div>
<span class="_r toRight">
<a href="javascript:void(0)"></a>
</span>
</div>我的javascript里有这个
$(document).ready(function() {
$('#carousel_ul li:first').before($('#carousel_ul li:last'));
$('.logo-mini-scroller span._r.toRight').click(function(){
var item_width = $('#carousel_ul li').outerWidth() + 10;
var left_indent = parseInt($('#carousel_ul').css('left')) - item_width;
$('#carousel_ul').animate({'left' : left_indent},{queue:false, duration:500},function(){
$('#carousel_ul li:first').insertAfter($('#carousel_ul li:last'));
$('#carousel_ul').css({'left' : '-93px'});
});
});
$('.logo-mini-scroller span._l.toLeft').click(function(){
var item_width = $('#carousel_ul li').outerWidth() + 10;
var left_indent = parseInt($('#carousel_ul').css('left')) + item_width;
$('#carousel_ul').animate({'left' : left_indent},{queue:false, duration:500},function(){
$('#carousel_ul li:first').before($('#carousel_ul li:last'));
$('#carousel_ul').css({'left' : '-93px'});
});
});
$('#carousel_ul li').click(function(){
var self = this;
$('#carousel_ul li').each(function(){
if ($(this).hasClass('active')){
$(this).removeClass('active');
}
$(self).addClass('active');
})
});
});函数前后的jQuery不起作用。所有的动画作品很好,但没有预先和附加的元素。我也尝试了inserBefore和inserAfeter,但是得到了同样的结果。
发布于 2016-08-25 20:09:12
问题是你的动画功能。您需要在参数中设置完全选项。
而不是
{'left' : left_indent},{queue:false, duration:500},function(){使用:
{'left' : left_indent},{queue:false, duration:500, complete: function(){ 下面是一个有用的示例:https://jsfiddle.net/ufcmos2y/
https://stackoverflow.com/questions/39153651
复制相似问题