jquery animate 加上频繁操做导致的问题

我想做一个图片轮播的效果,4个div做为导航其中轮换中用到了animate(),动画完成后改变当前的图片即改变class为cur,同时移除之前的cur,测试时,如果点击过... 我想做一个图片轮播的效果,4个div做为导航 其中轮换中用到了animate(),动画完成后改变当前的图片即 改变class为cur,同时移除之前的cur,测试时,如果点击过快,那么就导致cur的变换问题,从面显示空白图片,求解决办法?代码贴下
$("#box-list ul li").mouseover(function(){

if(!$("#picture-list .cur").hasClass($(this).attr("class")))
{
$("div",this).css({'background-color':'purple'}).parent().siblings().find("div").css({'background-color':'transparent'});
$('#picture-list').find("."+$(this).attr("class")).show().siblings().hide();
$('#picture-list .cur').css("z-index",'1').animate({left:'300px'},1000).hide("normal");
$('#picture-list .cur').animate({'left':'0px'},'0').removeClass("cur");
$('#picture-list').find("."+$(this).attr("class")).addClass("cur");
$('#picture-list img').show();
}
});
<div id="bottom" class="break">
<div id="picture-list">
<img class="first cur" src="./images/girl.jpg" />
<img class="second" src="./images/girl2.jpg" />
<img class="third" src="./images/girl3.jpg" />
<img class="fourth" src="./images/girl4.jpg" />
</div>
<div id="box-list">
<ul>
<li class="first"><div></div></li>
<li class="second"><div></div></li>
<li class="third"><div></div></li>
<li class="fourth"><div></div></li>
</ul>
</div>
展开
 我来答
百度网友5e99258cf
2014-01-04 · TA获得超过1687个赞
知道大有可为答主
回答量:1299
采纳率:71%
帮助的人:696万
展开全部
因为之前的动画没执行完然后之后的动画又开始的问题~用queue就可以解决~其实animate还有别的模式,你可以去看看JQ1.8的API~那里面写的清楚,把queue设置成false就行了~
mfkvfn
2014-01-03 · TA获得超过197个赞
知道答主
回答量:125
采纳率:0%
帮助的人:80.4万
展开全部
动画开始前先调用stop()
$.fn.stop([clearQueue],[jumpToEnd])
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ae2c8c8
2014-01-02 · 超过14用户采纳过TA的回答
知道答主
回答量:34
采纳率:50%
帮助的人:19万
展开全部
用$("#id:not(:animate)").animate(...);试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式