2010-09-09 38 views
0

位一個奇怪的一個 - 一定會看到一些撓頭,並皺起了鼻子就在這裏。緩存/ DOM中的移動標記重用

目前正在開發具有用戶逐步通過AJAX加載HTML的新模塊,因爲他們的平移/滾動這個滾動的時間表,因此,不久他們可以在頁面上頗有幾分標記的結束。當他們「縮放」時(即移動時間軸的X軸的比例),我不得不銷燬新生成的標記並建立一個新的參考框架,以便可以加載新模塊。

沒有深入研究時間軸內部工作原理的方式和原因,我想知道是否有JavaScript/jQuery緩存或暫時「移動」(而不是刪除和重寫)標記塊你已經加載到DOM。

我有一種感覺,這是我一廂情願的想法,但如果任何人之前把一些思想到這一點,我很感興趣地聽到。提前致謝。

回答

1

而不是使用.empty()(這聽起來像是你在做什麼),你可以使用.detach()。使用.detach()需要提醒的是,你必須將其存儲到分離的元素(一個或多個),所以你可以參考,說.append()它以後。就像這樣:

... 
var elementCache = []; 
... 
// later 
elementCache.push($('some-selector-here').detach()); 
... 
// later still 
$('some-other-selector').append(elementCache.pop());