2017-01-31 3 views
0

Так что я знаю, что мне нужно закрыть, чтобы решить проблему с конфликтующими счетчиками в моем скрипте, но попробуйте, поскольку я могу просто не понять, как это сделать. Мой сценарий:make use use

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; 
} 

Может кто-нибудь, пожалуйста, объясните мне, как закрытие использовать, чтобы скрыть переменный счетчик я так, что другие fucntions не могу изменить его? Спасибо. Пример

+2

Просто переместите все внутри 'we_start_slide'? – Bergi

+0

, если вы это сделаете, тогда я потерян после завершения we_start_slide. – Zaper127

+1

Нет, это не так, это целая точка закрытия. – Bergi

ответ

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); 
+0

Это сработало отлично. Спасибо! – Zaper127