JavaScript 意外关闭

发布于 2024-10-07 11:08:54 字数 599 浏览 3 评论 0原文

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

问题是,我的图像计数器变量(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>');    
            }
        }
};  

I have this piece of code on my website which counts the number of image and then output a list each time the user clicks on desired category.

The problem is, my image counter variable (noIMG) does not clear itself every time the function is called. I tried adding a reset(noIMG) at the end of the function but it seemed like a bad idea.

I did some research and i've stumbled upon articles about closures. After trying numerous methods to fix it, my code is still not acting the way I want it to.


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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

反目相谮 2024-10-14 11:08:54

如果你的意思是你想在每次调用函数时清除列表,那么可以这样做:

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

If you mean you want to clear the list every time the function is called, then do it like this:

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>');    
        }
    }
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文