我有以下脚本
<script>
$(document).ready(function(){
$("div.mover").hover(function () {
$("div.hide1").fadeTo("slow", 0.33);
$("div.hide1").fadeTo("slow", 1);
},function(){
$("div.hide1").stop();
});
});
</script>
and html page is
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div class="mover"><IMG SRC="images/buttons_full_01.png" ></div></td>
</tr>
<tr>
<td><div class="mover"><IMG SRC="images/buttons_full_02.png"></div></td>
</tr>
<tr>
<td><div class="mover"><IMG SRC="images/buttons_full_03.png"></div></td>
</tr>
</table>
我的功能是将鼠标悬停在按钮
上淡化背景但问题是我将鼠标悬停在所有按钮上并且鼠标离开按钮后 动画继续,直到完成所有交易。
我想要的是:当鼠标离开时按钮动画来了 $(“div.hide1”)。fadeTo(“slow”,1); 并停止
答案 0 :(得分:4)
只要未将鼠标指针拖出第二个(或第三个)“移动器”div,您的初始功能就可以正常工作。当发生这种情况时,你可能会得到几个排队的动画:
mover1.hover-over()
mover2.hover-over()
默认情况下,调用stop
仅终止当前动画 - 为第一个移动设备启动的动画,而不是排队等待第二个移动设备的动画。
当您致电stop
时,可以通过清除动画队列来阻止其他动画的运行,{{3}}接受可选参数clearQueue
:
$(document).ready(function(){
$("div.mover").hover(function () {
$("div.hide1").fadeTo("slow", 0.33).fadeTo("slow", 1);
}, function(){
// Added stop parameters and added an additional fadeTo,
// to make sure we get back to 100% opacity.
$("div.hide1").stop(true).fadeTo("slow", 1);
});
});