【发布时间】:2012-11-22 08:07:15
【问题描述】:
我想创建动画悬停。在mouseover 上,我需要淡出 div,然后更改其内容背景和颜色,并再次显示。在mouseout 上将所有内容置于先前的状态。
我的 HTML 是
<div class="icon-wrapper">
<span class="icon like-icon"></span>
like
</div>
<div class="icon-wrapper">
<span class="icon comment-icon"></span>
comment
</div>
还有我的 JavaScript 代码
$('.icon-wrapper').hover(
function(){
$(this).animate({opacity:0}{queue:true,duration:1000,complete:function() {
$(this).find('.icon').css('backgroundPositionY','-56px');
$(this).css('color','#dd3939');
$(this).animate({opacity:1},{queue:true,duration:1000});
}});
},function(){
$(this).animate({opacity:0},{queue:true,duration:1000,complete :function() {
$(this).find('.icon').css('backgroundPositionY','-12px');
$(this).css('color','#707173');
$(this).animate({opacity:1},{queue:true,duration:1000});
}});
});
我几乎得到了我需要的东西。唯一的事情是我想在开始第二个动画时停止第一个 div 的动画。
【问题讨论】:
-
你可以先停止动画,然后像 $(this).stop().animate(); 一样重新设置动画。
-
@Danis 我不明白第二个 div 的动画在哪里抱歉?你能显示 div 1 动画和 div2 动画吗?
-
@Danis 有机会为您的代码获得fiddle。这样我们就可以在工作中看到它,并且更容易理解。
标签: jquery animation hover queue