2010-11-29 88 views
2

如果您在此處登錄 http://freeri.freehostia.com/utanme/image.php 用戶名/密碼:Demo123 並按任何圖像,當它滑動點擊主圖像,做了幾次 和suddently你會發現每次滑動需要更長和更長的時間。jQuery的滑動變得更加延遲爲每次點擊

使用

$(function(){ 
    $('.slide:last-child img').live('click', function() { 
     $('.slide:first-child').animate({ 
      marginLeft: '0' 
     },500); 
     return false; 
    }); 
    $('.slide .img').click(function(){ 
     var img = $(this).find('a').attr('href'); 
     var title = $(this).find('h2').text(); 
     var desc = $(this).find('p').text(); 
     $('.slide:last-child img').attr('src',img); 
     $('.slide:last-child h2').text(title); 
     $('.slide:last-child #cont').text(desc); 
     $('body').prepend('<div id="cover"><img src="./images/loader.gif"/></div>'); 
     $('.slide:last-child img').load(function(){ 
      $('#cover').detach(); 
      $('.slide:first-child').animate({ 
       marginLeft: '-900px' 
      },500); 
     }); 
     return false; 
    }); 
}); 

缺少什麼我在這裏的代碼IM? 任何援助將不勝感激

+0

通過滑動需要的時間越來越長,是否意味着開始滑動動畫需要更長的時間,或者動畫的持續時間更長? – illvm 2010-11-29 20:10:50

+0

啓動動畫 – Breezer 2010-11-29 20:12:18

回答

2
$('.slide:first-child').stop(true,true).animate({ marginLeft: '-900px' },500}); 

關於停止:(不是說這就是這裏造成您的問題) http://api.jquery.com/stop/

此外,我已經受夠了在相同的元素直播和負載事件問題

可能不合適,但如果仍有問題,請嘗試在後續加載綁定之前刪除實時事件。 http://api.jquery.com/die/

編輯:注意它可能對性能不利(連續刪除並重新添加活動綁定)。我不是一直在這樣做,但它可以幫助查明你的問題。

2

嘗試調用stop(true,true);當動畫聲稱結束時,背景中可能會出現一些奇怪的計算結果,這些計算會圍繞如何設置回調。我不知道這是否可行,但值得一試。 :) - 托馬斯

+0

我沒有 $( '幻燈片:第一胎')。動畫({ \t \t \t \t marginLeft: '-900px' \t \t \t},500,函數(){ \t \t \t \t stop(true,true); \t \t \t}); 沒有幫助 – Breezer 2010-11-29 19:59:59