在DOM中缓存/移动标记以供重用

时间:2010-09-09 02:22:32

标签: javascript jquery html caching markup

有点奇怪 - 有必要在这里看到一些头部刮伤和皱纹的鼻子。

目前正在开发这种可滚动的时间轴,用户可以在平移/滚动时通过AJAX逐步加载新的HTML模块,所以不久它们最终会在页面上显示相当多的标记。当他们“缩放”时(即移动时间轴X轴的比例),我不得不销毁新生成的标记并建立一个新的参考框架,可以加载新的模块。

如果没有深入了解时间轴内部工作的方式和原因,我想知道JavaScript / jQuery中是否存在缓存或临时“移动”(不仅仅是删除和重写)标记块的方法已经加载到DOM中。

我有一种感觉,这是我的一厢情愿的想法,但如果有人在此之前考虑过这一点,我会有兴趣听到。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用.empty(),而不是使用.detach()(听起来就像您正在做的那样)。使用.detach()时需要注意的是,您必须存储对分离元素的引用,以便稍后再说.append()。像这样:

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