+ -
当前位置:首页 → 问答吧 → 關於動畫的隊列問題....

關於動畫的隊列問題....

时间:2009-10-11

来源:互联网

复制代码
  1. $("#home").mouseover(function(){
  2.     $(this).children(0).css({position:"absolute",margin:"0px",padding:"0px"});
  3.     //$(this).children(0).show("normal");    
  4. });
  5. $("#home").mouseout(function(){
  6.     //$(this).children(0).hide("normal");
  7. });





但問題是,如果我在那個#home裏進行快速的mouseon & mouout動作的話,,就會做成了一堆隊列動畫,,,

往往停下來的時候它還在運行著...怎樣解決這個問題.~

希望各位大俠指教.

我用stop(參數)的話..動畫會停了..鼠標移過去..也沒反應了.....(是不是有一個啟動 動畫的函數的呀?)



啊..剛剛發錯地方了...現在他說人重復發貼了..鬱悶死..

作者: kutata   发布时间: 2009-10-11

$("#home").mouseover(function(){
    $(this).children(0).stop().show("normal");    
});

另一个也这样做=。=

作者: keakon   发布时间: 2009-10-11

我先試一個..thx.

作者: kutata   发布时间: 2009-10-11

...啊..有問題呀..

如果我是慢慢地進行 mouseover & mouseout 這個動作的話就沒問題.

要是我高速進行一輪這個動作後..

再移過去...它的動畫就沒反應了.....(我想應該是停止了動畫的執行了....有那麽點死機的味道 - -!!!.)

作者: kutata   发布时间: 2009-10-11

up.!!!高手們快進.!

作者: kutata   发布时间: 2009-10-11

原因是jQuery.fn.extend.animate: function( prop, speed, easing, callback )会形成一个queue;

解决办法
$("#home").mouseout(function(){
         $(this).children(0).get(0).style.display = 'none';
})

作者: zcrane   发布时间: 2009-10-11

$("#home").mouseover(function(){
    $(this).children(0).stop(false,true).show("normal");    
});
另一个也这样做。
stop函数的两个参数分别表示:
1 不删除事件的队列
2 使当前的动画立刻完成
        

作者: cloudjquery   发布时间: 2009-10-11

感謝各位達人不吝指教..在下先看下,
  

作者: kutata   发布时间: 2009-10-12

也是就是jquery的這些動畫對象都會有隊隊列囉?

如果按照大哥你的思路,也不需要get(0)拿回一個實際的Dom.."show() & hide()"裏面不加參數就行了...哈~

.....其實我想要就是它的這些(fade , toggle ,show)..缓慢效果..但如果是這樣子的話..看來要自己寫一些效果了..


    
[ 此帖被kutata在2009-10-12 00:34重新编辑 ]

作者: kutata   发布时间: 2009-10-12

引用
引用第6楼cloudjquery于2009-10-11 23:32发表的  :
$("#home").mouseover(function(){
    $(this).children(0).stop(false,true).show("normal");    
});
另一个也这样做。
stop函数的两个参数分别表示:
.......



恩..謝謝..你說的這些參數我懂..

不過問題也是那個...在那個#home裏面進行快速的mouseover & mouseout (這裏可能我說得有點不太明白,,其實就是用滑鼠在那個#home區域裏快速移入移出觸發#home的事件..)的動作後.

#home的動畫就會失效..

謝謝啦哈.~

作者: kutata   发布时间: 2009-10-12

相关阅读 更多