我不知道为什么,但是悬浮"out“函数中的动画()似乎是从0值开始的,而不是16,它应该由" in”函数中的“悬停”来设置:
$.fx.step.textShadowBlur = function(fx) {
$(fx.elem).css({textShadow: '0 0 ' + Math.floor(fx.now) + 'px #000'});
};
$('a').hover(function(){
$(this).stop().animate({textShadowBlur:16}, {duration: 400});
}, function(){
$(this).stop().animate({textShadowBlur:0}, {duration: 900});
});所以我得到一个突然的文字阴影改变鼠标出来,没有动画。
我做错了什么?
好吧,我修好了。它似乎是带有step函数定义的jquery bug或什么的。ANyway --这将起作用:
$('a').hover(function(){
$(this).stop().animate({nothing:16}, {duration: 400, step: function(now, fx){
$(this).css({textShadow: '0 0 ' + Math.floor(fx.now) + 'px #000'});
}});
}, function(){
$(this).stop().animate({nothing:0}, {duration: 900, step: function(now, fx){
$(this).css({textShadow: '0 0 ' + Math.floor(fx.now) + 'px #000'});
}});
});发布于 2011-08-10 18:09:20
您的语法无效。您目前正在关闭mouseover函数之后的hover事件。
尝试:
$('a').hover(
function(){
$(this).stop().animate({textShadowBlur:16}, {duration: 400});
},
function(){
$(this).stop().animate({textShadowBlur:0}, {duration: 900});
}); https://stackoverflow.com/questions/7015530
复制相似问题