javascript实现前端成语点击验证优化


Posted in Javascript onJune 24, 2020

对上一篇前端成语点击验证博客进行优化,主要优化事项有:

1.点击时,加上序号显示点击的顺序
2.当验证成功时,不能再点击文字。

主要优化的代码如下

JS部分:

//事件委托
var verifyArr = [];
var str = null;
var timer = null;
var a = 0;
var idiomBox = document.querySelector('.idiom_box');
clearTimeout(timer)
idiomBox.onclick = function (e) {
 
 e.target ? e.srcElement : e.target;
 console.log(e.pageX);
 console.log(e.offsetX)
 var radio_left = event.pageX-$(this).offset().left-15+'px';
 var radio_top =event.pageY-$(this).offset().top-15+'px'
 if (e.target.tagName == 'SPAN') {
  a++;
  console.log(a)
  let rad=$(`<div class='radio'>${a}</div>`)
  rad.css({
   left:radio_left,
   top:radio_top
  })
  $('.idiom_box').append(rad)
  // console.log(e.target.innerText);
  verifyArr.push(e.target.innerText);
  str = verifyArr.join('')
  if (str.length === randomIdiom.length) {
   if (str == randomIdiom) {
    // alert('验证成功!!')
    $('.verify_box').html('验证成功');
    idiomBox.onclick = false //验证成功就不能再点了。
   } else {
    $('.verify_box').html('验证失败')
    timer = setTimeout(() => {
     location.reload()
    }, 1000);
   }
  }
 } else {
  alert('请点击有效区域')
 }
}

CSS部分:

.radio{
 background-color: #1abd6c;
   color: #fff;
   z-index: 9999;
   width: 30px;
   height: 30px;
   text-align: center;
   line-height: 30px;
   border-radius: 50%;
   position: absolute;
  z-index: 10;
  line-height: 30px;
  color: white;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery Easyui Tree的oncheck事件实现代码
May 28 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
Apr 02 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
Apr 16 Javascript
jqGrid中文文档之选项设置
Dec 02 Javascript
jquery ajax双击div可直接修改div中的内容
Mar 04 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
Sep 17 Javascript
真正好用的js验证上传文件大小的简单方法
Oct 27 Javascript
vue自定义指令实现v-tap插件
Nov 03 Javascript
vue通过cookie获取用户登录信息的思路详解
Oct 30 Javascript
详解iframe跨域的几种常用方法(小结)
Apr 29 Javascript
关于ckeditor在bootstrap中modal中弹框无法输入的解决方法
Sep 11 Javascript
iview实现图片上传功能
Jun 29 Javascript
vue各种事件监听实例(小结)
Jun 24 #Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
Jun 24 #Javascript
javascript实现前端成语点击验证
Jun 24 #Javascript
vue单文件组件无法获取$refs的问题
Jun 24 #Javascript
JS实现数据动态渲染的竖向步骤条
Jun 24 #Javascript
javascript实现评分功能
Jun 24 #Javascript
javascript实现移动端红包雨页面
Jun 23 #Javascript
You might like
基于empty函数的判断详解
2013/06/17 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
PHP crc32()函数讲解
2019/02/14 PHP
图片自动更新(说明)
2006/10/02 Javascript
js右键菜单效果代码
2007/07/21 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
js实现模拟计算器退格键删除文字效果的方法
2015/05/07 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
python3.0 字典key排序
2008/12/24 Python
python实现倒计时的示例
2014/02/14 Python
python递归计算N!的方法
2015/05/05 Python
python 格式化输出百分号的方法
2019/01/20 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
html5使用canvas画一条线
2014/12/15 HTML / CSS
向全球直邮输送天然健康产品:iHerb.com
2020/05/03 全球购物
Linux文件操作命令都有哪些
2015/02/27 面试题
生产车间班组长岗位职责
2014/01/06 职场文书
会计岗位职责范本
2014/03/07 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
教师年度考核个人总结
2015/02/12 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
mysql知识点整理
2021/04/05 MySQL
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python