$("#a").mouseover(function(){
$("#a").fadeTo(250,0.6);
})
$("#a").mouseout(function(){
$("#a").fadeTo(250,1);
}) 上面的代码想实现鼠标mouseover事件时a元素就变改变透明度到0.6,mouseout时就改回透明度1。但有个问题就是当我重复快速移入移出鼠标后。它会完全响应我的效果,直到完成我所有进出的次数。但这样效果很不好。
所以我又改了下,设置了一个控制的全局变量,代码如下:var fadeOut_temper=true;
var fadeIn_temper=true;
$("#a").mouseover(myFadeOut)
$("#a").mouseout(myFadeIn)
function myFadeOut(){
event.stopPropagation();
if(fadeOut_temper){
fadeOut_temper=false;
$("#a").fadeTo(300,0.6,function(){
fadeOut_temper=true;
})
}
}
function myFadeIn(){
event.stopPropagation();
if(fadeIn_temper){
fadeIn_temper=false;
$("#a").fadeTo(300,1,function(){
fadeIn_temper=true;
})
}
}
现在效果稍微好点,但还是不好,当快速的两次进出元素后就会出现只淡化透明度。
求解!!有什么好方法没!
$("#a").mouseover(function(){
if($("#a").css("opacity")==1){
$("#a").fadeTo(250,0.6);
}
})
$("#a").mouseout(function(){
if($("#a").css("opacity")==0.6)
$("#a").fadeTo(250,1);
})
加个判断