我在一个函数中有一些javascript来创建和填充图像轮播。它在前5或6次弹出窗口中激活它之后工作正常,但最终它会崩溃浏览器。我认为存在某种泄漏,就像它内部的某些内容需要在再次创建之前被删除。我知道这是旋转木马,因为如果我摆脱脚本的那一部分,它就不会再崩溃了。
这是轮播剧本:
/* carousel */
var carousel,
el,
i,
page,
slides;
carousel = new SwipeView('#wrapper', {
numberOfPages: slides.length,
hastyPageFlip: true
});
// Load initial data
for (i=0; i<3; i++) {
page = i==0 ? slides.length-1 : i-1;
el = document.createElement('span');
el.innerHTML = slides[page];
carousel.masterPages[i].appendChild(el)
}
carousel.onFlip(function () {
var el,
upcoming,
i;
for (i=0; i<3; i++) {
upcoming = carousel.masterPages[i].dataset.upcomingPageIndex;
if (upcoming != carousel.masterPages[i].dataset.pageIndex) {
el = carousel.masterPages[i].querySelector('span');
el.innerHTML = slides[upcoming];
}
}
});
每次单击启动浮动窗口的链接时,都会运行此脚本。
答案 0 :(得分:0)
我发现我需要清除我的包装div。在函数调用的开头:
document.getElementById('wrapper').innerHTML = "";
似乎工作。