I am making a real estate non interactive display for their shop window
我踢了jCarousel做我想要的事情:
这样可以正常工作,但似乎在前面的元素上调用jQuery的remove()
导致了一个丑陋的颠簸。我不确定调用hide()
是否会释放任何资源,因为该元素仍然存在(并且元素将在屏幕外显示)。
我见过this,并在回调中尝试carousel.reset()
。它只是清除所有元素。
这将在Windows XP上的Google Chrome上运行,并且只会在液晶电视上显示。
我想知道,如果我无法找到合理的解决方案来删除额外的DOM元素,它会让我的应用程序爬行,还是Chrome会做一些聪明的垃圾收集?
或者你如何解决这个问题?
由于
答案 0 :(得分:1)
您是否可以重复使用旧元素而不是删除它们并添加新元素?
答案 1 :(得分:1)
我找到了一个非常简单的修复方法!
只需将其传递给jCarousel的配置
即可itemFirstOutCallback: {
onAfterAnimation: function(carousel, li, index, state) {
if (state === 'init') return;
carousel.remove(index);
}
}
基本上,这只是一旦它变得不可见就会删除列表元素(滚动到负overflow: hidden
区域,如果你愿意的话:))