Javascript意外关闭

时间:2010-12-14 07:11:09

标签: javascript jquery function loops closures

我的网站上有这段代码,它会计算图像的数量,然后在每次用户点击所需的类别时输出一个列表。

问题是,每次调用函数时,我的图像计数器变量(noIMG)都不会自行清除。我尝试在函数结束时添加一个重置(noIMG),但这似乎是一个坏主意。

我做了一些研究,我偶然发现了关于闭包的文章。在尝试了许多方法来修复它之后,我的代码仍然没有按照我想要的方式运行。


function thumbCounter(){

    var noIMG = $(".artwork img").size()+1;

        for (var count = 1; count < noIMG; count++){
            if (count == 1){
                 $('#list_here').append('<li class="active">' +count+ '</li>');
            } else{
                 $('#list_here').append('<li>' +count+ '</li>');    
            }
        }
};  

1 个答案:

答案 0 :(得分:0)

如果您的意思是每次调用函数时都要清除列表,请按照以下步骤清除:

function thumbCounter() {
    var noIMG = $(".artwork img").size() + 1;
    var myList = $('#list_here'); // reference to list

    myList.html(""); // clear the contents
    for (var count = 1; count < noIMG; count++) {
        if (count == 1) {
             myList.append('<li class="active">' +count+ '</li>');
        } else {
             myList.append('<li>' +count+ '</li>');    
        }
    }
};