JS+H5打字练习器
创始人
2024-11-13 09:38:45
0

实现功能

1.导入.TXT文件到打字练习内容(部分浏览器可能出于安全问题限制了这一步操作)
2.输入文本到打字练习内(弹出输入框,将要练习的内容输入至输入框)
3. 开始练习,并根据正误在打字练习内容文本上修改颜色(某个字正确显示绿色,某个字错误,显示红色,某个字没有打显示灰色)
4.开始练习、结束练习,全部输入完成后自动结束练习,也可提前手动结束练习,结束练习后弹窗用显示时和正确率。(区别在于一个全部输入完成且全部正确,一个提前结束无其他条件)

效果图

在这里插入图片描述在这里插入图片描述

分析

HTML 结构解析

  1. 根元素 声明文档类型为HTML。
  2. html 元素:包含整个页面的内容,并设置语言为中文(lang="zh-CN")。
  3. head 元素:包含页面的元数据,如字符集(charset="UTF-8")、视口设置(viewport)和标题(</code>)。</li><li><strong><code>style</code> 元素</strong>:包含页面的CSS样式。 <ul><li>设置页面背景颜色、字体、布局样式等。</li></ul></li><li><strong><code>body</code> 元素</strong>:包含页面的可见内容。 <ul><li>使用Flexbox布局使内容居中。</li></ul></li><li><strong><code>.container</code> 类</strong>:包含文本输入框和按钮,并设置样式。</li><li><strong><code>.buttons</code> 类</strong>:包含一组按钮,并设置布局样式。</li><li><strong><code>.text-to-type</code> 类</strong>:包含待输入的文本,并设置样式。</li><li><strong><code>input</code> 元素</strong>:一个文本输入框,用于用户输入。</li></ol><h4>JavaScript 解析</h4><ol><li><p><strong>变量声明</strong>:</p><ul><li><code>textToType</code>:获取待输入文本的DOM元素。</li><li><code>inputText</code>:获取用户输入文本的DOM元素。</li><li><code>importTextBtn</code>、<code>addTextBtn</code>、<code>startPracticeBtn</code>、<code>endPracticeBtn</code>:获取按钮的DOM元素。</li><li><code>originalText</code>:存储原始待输入的文本。</li><li><code>startTime</code>:存储开始练习的时间。</li><li><code>alertCount</code>:存储弹窗次数。</li><li><code>correctCount</code>:存储正确的字符数。</li></ul></li><li><p><strong><code>inputText</code> 输入事件监听器</strong>:</p><ul><li>当用户在输入框中输入时,会触发此事件。</li><li>获取用户当前输入的文本。</li><li>初始化一个空字符串<code>updatedText</code>用于构建更新后的文本。</li><li>如果<code>startTime</code>已设置,遍历原始文本和用户输入的文本: <ul><li>如果字符匹配,将字符标记为<code>correct</code>。</li><li>如果字符不匹配,将字符标记为<code>wrong</code>。</li></ul></li><li>更新<code>textToType</code>的HTML内容。</li><li>如果用户输入的文本与原始文本完全匹配,计算总用时和正确率,并通过弹窗显示结果。</li><li>重置输入框和<code>startTime</code>。</li></ul></li><li><p><strong><code>importTextBtn</code> 点击事件监听器</strong>:</p><ul><li>创建一个文件输入元素,允许用户选择<code>.txt</code>文件。</li><li>当文件被选中后,使用<code>FileReader</code>读取文件内容。</li><li>读取完成后,将文本内容赋值给<code>originalText</code>并更新<code>textToType</code>。</li></ul></li><li><p><strong><code>addTextBtn</code> 点击事件监听器</strong>:</p><ul><li>弹出一个输入框让用户输入文本。</li><li>如果用户输入了文本,将其赋值给<code>originalText</code>并更新<code>textToType</code>。</li></ul></li><li><p><strong><code>startPracticeBtn</code> 点击事件监听器</strong>:</p><ul><li>设置<code>startTime</code>为当前时间。</li><li>清空输入框。</li><li>更新<code>textToType</code>的HTML内容为原始文本。</li></ul></li><li><p><strong><code>endPracticeBtn</code> 点击事件监听器</strong>:</p><ul><li>如果<code>startTime</code>已设置,计算总用时和正确率,并通过弹窗显示结果。</li><li>重置<code>startTime</code>和输入框。</li></ul></li></ol><h3>完成源代码</h3> <pre><code class="prism language-html"><!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>打字练习
    这是一个打字练习的例子

相关内容

热门资讯

一分钟秒懂!闲来辅助神器下载(... 一分钟秒懂!闲来辅助神器下载(解谜辅助app)确实有透视指引1、任何闲来辅助神器下载透视是真的假的的...
解谜辅助!微乐自建房免费黑科技... 解谜辅助!微乐自建房免费黑科技下载,填大坑辅助器视频(好像有挂);1、不需要AI权限,帮助你快速的进...
关于!wepoker辅助(详细... 关于!wepoker辅助(详细辅助神器)一直有透视步骤wepoker辅助脚本下载中分为三种模型:we...
推荐辅助!小程序微乐辅助器2.... 推荐辅助!小程序微乐辅助器2.0,微乐河南家乡麻将辅助脚本(一向存在有挂);AI辅助机器人普及解说快...
玩家爆料!卡五星辅助软件(揭露... 玩家爆料!卡五星辅助软件(揭露辅助工具)确实有透视烘培1、很好的工具软件,可以解锁游戏的卡五星辅助软...
介绍辅助!微信小程序微乐破解器... 介绍辅助!微信小程序微乐破解器,wepoker透视脚本免费下载(都是真的是有挂)是一款可以让一直输的...
玩家亲测!微信小程序外辅助工具... 玩家亲测!微信小程序外辅助工具(科普辅助工具)其实有透视练习1、完成微信小程序外辅助工具辅助器v3....
了解辅助!微信小程序微乐破解器... 了解辅助!微信小程序微乐破解器,圣盛荆州晃晃三五七辅助(原先是有挂);圣盛荆州晃晃三五七辅助最新版本...
推荐十款!九江讨赏辅助(曝光辅... 推荐十款!九江讨赏辅助(曝光辅助app)好像有透视指南1、游戏颠覆性的策略玩法,独创攻略技巧玩法,可...
发现辅助!微信微乐游戏辅助器,... 发现辅助!微信微乐游戏辅助器,微信多乐跑作弊(原生真的有挂);微信微乐游戏辅助器中的10万兆豆可能无...