2011-06-07 24 views
1

花式框在啓動時停止jquery動畫。 我有這樣的JS腳本:Fancybox在運行時停止其他jquery動畫

 $("a[class=fancybox]").fancybox({ 
      'hideOnContentClick': true, 
      'titlePosition'  : 'outside', 
      'overlayColor'  : '#3d6a87', 
      'overlayOpacity' : 0.9 
     }); 

     $('.portfoliobox').live('mouseenter', function(e) { 
      $(this).closest('.portfoliobox').find('div.portfoliodetails').animate({marginLeft: '0', opacity: 0.8}, 200); 
     }); 

     $('.portfoliobox').live('mouseleave', function(e) {          
      var $widthofdiv = $(this).closest('.portfoliobox').find('.portfoliodetails').width(); 
      $(this).closest('.portfoliobox').find('div.portfoliodetails').animate({marginLeft: $widthofdiv}, 200); 
     // alert($widthofdiv); 
     }); 

當我點擊位於內DIV一個的fancybox鏈接.portfoliodetails在鼠標離開停止播放動畫,保持被凍結。

不知道該怎麼辦? 從我理解我需要使jQuery運行mouseleave動畫..但如何?

回答

1

解決這樣的:我加了2個調用函數時的fancybox開始,在開始時,當它接近

 $("a[rel=gallery]").fancybox({ 
       'onStart': hidedetails, 
      'onClosed': hidedetails, 
      'titlePosition'  : 'outside', 
      'overlayColor'  : '#3d6a87', 
      'overlayOpacity' : 0.9 
     }); 
1

試試下面的變化,看它是否幫助:

改變動畫()調用吼叫:

$(this).closest(...).stop(true, true).animate(...); 

通過這樣做,你首先停止所有正在運行的動畫,然後運行新的動畫,防止任何碰撞。

+0

也許它應該工作,但對我來說,這不......我越來越一樣的問題 。當Fancybox彈出時,動畫就會停止...並且在關閉fancybox'窗口'後動畫不再運行......這就像mouseeneter和mouseleave不再工作。 – 2011-06-07 19:39:23