2014-01-15 54 views
0

我有一個動畫循環,它爲DOM添加了一個新元素並對它進行了動畫處理,這可以基本上永久地重複。我的問題是,當每個動畫循環完成時,從DOM中刪除元素還是隱藏在頁面上更好?我不能重複使用該元素,因爲循環的工作方式,一個新的動畫可能開始,而另一個正在完成,所以在給定的時間可能在頁面上有多個元素。我意識到這個問題是相當初級的,但會感謝一些見解。謝謝。從DOM中刪除元素的性能影響?

+0

您不能將元素操作回初始狀態以重新開始動畫?告訴我們你的代碼。如果你真的不能,我認爲它更好地移除它。 – DontVoteMeDown

+0

我可能會重寫它來做到這一點,我可以在給定的時間可能有3個元素可見。所以,我需要跟蹤我在動畫循環中的位置,以便知道何時移動東西,這並不難,只需要更多的工作。 – user602525

+0

另請參閱這個 – Philipp

回答

2

性能影響

幾乎沒有。然而,存在內存影響 - 用(隱藏)元素填充DOM並且從不停止這樣做是邪惡的。當然,這在某種程度上會拖慢整個過程。

從DOM中刪除元素還是隱藏在頁面上更好?

絕對刪除它。

我不能重複使用該元素,因爲循環的工作方式,新的動畫可能會在另一個完成時開始,所以在給定的時間可能會有多個頁面元素。

您仍然可以通過維護元素池來重用它們,但這可能不是必需的。刪除舊的和創建新的很好。

+0

謝謝,這很有幫助 – user602525

+0

你是對的。想象一下在IE中無限添加的元素。該死的,**這**將是邪惡的! – DontVoteMeDown

+0

如果您可以刪除元素並在一個理想的操作中替換新元素。 DOM操作是迄今爲止最慢的部分。 – Calvin