美文网首页揭开web前端的面纱
JavaScript点击计数的实现

JavaScript点击计数的实现

作者: ferrint | 来源:发表于2017-02-27 15:56 被阅读894次

关键词:点击计数

我们做个小实例,当鼠标点击每个按钮时,显示点击该按钮的次数

<!-- HTML代码 -->
<button>单击1</button>
<button>单击2</button>
<button>单击3</button>
<button>单击4</button>
<button>单击5</button>
    var btn = document.querySelectorAll("button");
    var i = 0;
    var count = 0;

通常初学者会这样做


    // 初学者传统的做法一般是这样的
    for(i=0;i<btn.length;i++){
        btn[i].onclick = function(){
            count++;
            console.log(count);
        }
    }
  // 但是这种方法不能实现每个按钮分别计数

我思来想去,觉得可能是count有问题,所以对代码进行了改版

  // 把count放在了for循环里
   for(i=0;i<btn.length;i++){
        count++;
        add(btn[i])
    }
    function add(obj) {
        obj.onclick = function () {
            console.log(count);
        }
    }
// 但是每次结果都是5 555[捂脸]~

for这个循环,飞速完成了所有的遍历,让我猝不及防~

既然是对每个按钮做点击计数,那我就把count放在点击事件外面!

    for(i=0;i<btn.length;i++){

        add(btn[i])
    }
    function add(obj) {
        var count = 0;
        obj.onclick = function () {
            count++;
            console.log(count);
        }
    }
   // 来之不易的成功!

其实我们还可以通过闭包的方法实现这一功能,Mark下我的另一篇文章 [闭包][]
[闭包]: http://www.jianshu.com/p/5190f033d6fd

    for(i=0;i<btn.length;i++) {
        btn[i].onclick = (function (count) {
            return function () {
                count++;
                console.log(count);
            }
        })(0);  // 小括号里是function的参数

相关文章

  • JavaScript点击计数的实现

    关键词:点击计数 我们做个小实例,当鼠标点击每个按钮时,显示点击该按钮的次数 通常初学者会这样做 我思来想去,觉得...

  • JS实现计数器

    1.如何实现计数器 背景:点击按钮实现计数器功能 ====> 点击按钮实现累加 从以下4种方式选择最优的一个方案 ...

  • Textarea 计数 兼容版

    很久以前的文章了 迁移至此 全兼容版javascript字符计数textarea, javascript字符计数t...

  • 初识JavaScript

    JavaScript实现 JavaScript 函数和事件通常,我们需要在某个事件发生时执行代码,比如当用户点击按...

  • JavaScript 实现 Tab 点击切换

    Tab 选项卡切换效果在现如今的网页中,运用的也是比较多的,包括点击切换、滑动切换、延迟切换、自动切换等多种效果,...

  • 排序算法-5(javascript) 计数排序的实现

    前面讲的都是基于比较交换的算法,那有没有不使用比较就能排序的算法呢?它们的复杂度会不会更优呢? 接下来在后面的系列...

  • 【转】JavaScript的观察者模式(Vue双向绑定原理)

    关于Vue实现数据双向绑定的原理,请点击:Vue实现数据双向绑定的原理原文链接:JavaScript设计模式之观察...

  • 从实现计数器说起

    1.基本计数器 功能需求:点击+按钮使得计数加一,点击-按钮使得计数减一,实时显示计数值。功能分析:根据功能,所以...

  • 原生JavaScript封装选项卡插件

    一、初步实现选项卡 html css 基础JavaScript 错误绑定点击事件的方式 以上方式绑定点击事件是达不...

  • ES6 -异步编程

    javascript 是基于单线程的,如果想实现多个任务,需要任务队列来实现。 事件模型:点击按钮触发事件队列,异...

网友评论

    本文标题:JavaScript点击计数的实现

    本文链接:https://www.haomeiwen.com/subject/rppzwttx.html