所以我知道我需要关闭才能解决我的脚本中存在冲突计数器的问题,但请尝试我可能只是无法理解如何做到这一点。我的剧本是:
var i= 1;
function we_start_slide(gallery, img, delay)
{
var gallery_images= JSON.parse(JSON.stringify(img));
var img_count= img.length;
document.getElementById(gallery + '_slide').innerHTML=gallery_images[0];
test= setInterval(function(){we_slide_show(gallery, gallery_images, img_count)}, delay);
}
function we_slide_show(gallery, gallery_images, img_count)
{
document.getElementById(gallery + '_slide').innerHTML=gallery_images[i];
if(i < img_count-1) i++;
else i=0;
}
有人可以向我解释如何使用闭包隐藏计数器变量i以便其他功能无法改变它吗?谢谢。
答案 0 :(得分:1)
关闭示例:
(function(window){
var i = 1;
window.we_slide_show = function (gallery, gallery_images, img_count)
{
document.getElementById(gallery + '_slide').innerHTML=gallery_images[i];
if(i < img_count-1) i++;
else i=0;
};
})(window);