原生js打字速度测试代码

原生js打字速度测试代码

添加时间:2021-02-24 07:33:01
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:其它特效
  • 模板颜色模板颜色:初级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

简单的原生js打字速度测试代码,示例文字可以自行更换,点击开始打字按钮开始测试,打完点击结束打字按钮,会根据你打完的字数来计算你每分钟打多少字。
原生js打字速度测试代码
分类:其它特效 难易:初级

js代码

<script type="text/javascript">
    function _class(str) {
        return document.getElementsByClassName(str);
    }
    var fontstring = _class("fontString")[0];
    var strExample = "网上打字测试,点开始之后可以开始打字,按下第一个键之后开始计时," +
        "打字结束之后可以按计算速度计算你刚才打字的速度,下方同时显示错误的字数、经过的时间。" +
        "打错的字是红色显示,正确的是蓝色字,还没有打的是黑色。"
    var costTime = _class("time")[0];
    var costtime = 0;
    var errorcount = 0;
    var timer;
    var haveEnter = false;
    var fonttextarea = _class("fontTextarea")[0];
    var beginbtn = _class("beginBtn")[0],
        finishbtn = _class("finishBtn")[0];
    var error = _class("error")[0],
        speed = _class("speed")[0];
    window.onload = function () {
        fonttextarea.disabled = true;
        fontstring.innerText = strExample;
        fonttextarea.onkeydown = function () {
            var strcount = 0;
            var str = "";
            if (fonttextarea.value == "") return;
            if (!haveEnter) {
                haveEnter = true;
                costtime = 0;
                timer = setInterval(function () {
                    showtimeFun();
                }, 1000);
            }
            for (var i = 0; i < strExample.length - 1; i++) {
                if (i < fonttextarea.value.length) {
                    if (fonttextarea.value.slice(i, i + 1) == strExample.slice(i, i + 1)) {
                        str = str + "<span class='rightfont'>" + strExample.slice(i, i + 1) + "</span>";
                    }
                    else {
                        str = str + "<span class='errorfont'>" + strExample.slice(i, i + 1) + "</span>";
                        strcount++;
                    }
                }
                else {
                    str = str + strExample.slice(i, i + 1);
                }
            }
            errorcount = strcount;
            fontstring.innerHTML = str;
            error.innerText = errorcount;
        }
        function showtimeFun() {
            costtime++;
            costTime.innerText = costtime;
        }
        beginbtn.onclick = function () {
            errorcount = 0;
            fontstring.innerText = strExample;
            fonttextarea.value = "";
            fonttextarea.disabled = false;
            fonttextarea.focus();
            error.innerText = errorcount;
            speed.innerText = "0";
        }
        finishbtn.onclick = function () {
            clearInterval(timer);
            costTime.innerText = 0;
            fonttextarea.disabled = true;
            var sp = 0;
            if (fonttextarea.value == "") {
                return sp;
            } else {
                sp = Number(fonttextarea.value.length * 60 / costtime).toFixed(2);
                speed.innerText = sp;
                haveEnter = false;
            }
        }
    }
</script>
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:原生js打字速度测试代码

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.087977s