2012-01-03 63 views
0

我有一個圖像列表,它們並排浮動,並在頁面頂部有一些JavaScript調用鏈接。點擊鏈接後,所有可見圖像都會縮小並消失,然後選定的項目會展開並變爲可見。jQuery動畫 - 第一次運行後不一致

這工作正常,第一次。然而,隨後的選擇變化會導致不可預測的結果,而且衰落並不總是發生。

我創建了jsFiddle example,它更好地顯示了該問題。任何幫助非常感謝。

Chris。

+0

林不知道它到底是什麼應該做的。例如,如果您點擊「一個」鏈接,會發生什麼? – Evan 2012-01-03 20:52:23

+0

它在第一次運行過程中正常工作。鏈接基本上是內容過濾器(正常工作)。不起作用的是第一次運行後的過渡動畫。這有幫助嗎? – 2012-01-03 20:59:24

回答

1

的問題是,動畫每個元素上單獨運行,因爲是回調。所以showList正在運行15次。

解決此問題的一個方法是使用計數來跟蹤上次動畫運行的時間。例如:

function collapseList(selectedFilter) { 
    var els = $('.listItem'), 
     count = els.length; 

    els.animate({ 
     opacity: 0, 
     width: "0px", 
     height: "0px" 
    }, 2000, function() { 
     if (!--count) { 
      els.hide(); 
      showList(selectedFilter); 
     } 
    }); 
} 

這裏試試:http://jsfiddle.net/msb9p/11/

+0

謝謝。這解決了它。我讀了關於動畫,但看不到影響。 – 2012-01-04 06:22:17