我有以下脚本

 <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>

我的功能是将鼠标悬停在按钮

上淡化背景

但问题是我将鼠标悬停在所有按钮上并且鼠标离开按钮后 动画继续,直到完成所有交易。

我想要的是:当鼠标离开时按钮动画来了           $(&quot; div.hide1&quot;)。fadeTo(&quot; slow&quot;,1); 并停止

有帮助吗?

解决方案

只要未在第二个(或第三个)“移动器”上拖出鼠标指针,您的初始功能就可以正常工作。 DIV。当发生这种情况时,你可能会得到几个排队的动画:

mover1.hover-over()
mover2.hover-over()

默认情况下,调用 stop 只会终止当前动画 - 为第一个移动设备启动的动画,而不是排队等待第二个移动设备的动画。

当您调用 时,可以通过清除动画队列来阻止其他动画运行停止 ,它接受一个可选参数 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);
    });
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top