【发布时间】:2011-10-28 14:53:34
【问题描述】:
我有几个动画元素。如果您在子菜单上快速来回切换,则会出现队列,在最坏的情况下,功能似乎会损坏。我已经尝试过stop()、delay()、:animated。
你有什么建议让它发生:)?
jQuery('.submenu').hover(
function(){
jQuery(this).find('.ico').delay(100).animate({
height: 24
}, 'fast', function() {
jQuery(this).parents('.submenu').find('ul').animate({
height: 'toggle'
}, 'slow', function() {
});
});
},
function(){
jQuery(this).find('ul').delay(100).animate({
height: 'toggle'
}, 'fast', function() {
jQuery(this).parent().find('a.submenuItem .ico').animate({
height: 18
}, 'fast', function() {
});
});
});
HTML
<li class="submenu"><a href="" class="submenuItem">About<span class="ico">more</span></a>
<ul>
<li><a href="#">Corporate</a></li>
<li><a href="#">Facts</a></li>
<li><a href="#">Press</a></li>
<li><a href="#">Franchising</a></li>
<li><a href="#">Sponsoring</a></li>
<li><a href="#">Contact</a></li>
</ul>
</li>
【问题讨论】:
-
在这种情况下,我通常会使用 stop()。如果您创建一个 jsFiddle,我会在您的代码中四处寻找。
-
@maxedison jsfiddle.net/qGG53/10
标签: jquery hover jquery-animate