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 相关文章推荐
js 获取Listbox选择的值的代码
Apr 15 Javascript
jquery.qrcode在线生成二维码使用示例
Aug 21 Javascript
js脚本获取webform服务器控件的方法
May 16 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
Jul 28 Javascript
JavaScript实现动态删除列表框值的方法
Aug 12 Javascript
莱鸟介绍javascript onclick事件
Jan 06 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
Jun 12 Javascript
浅谈jQuery效果函数
Sep 16 Javascript
JS实现列表页面隔行变色效果
Mar 25 Javascript
快速使用node.js进行web开发详解
Apr 26 Javascript
JavaScript实现求最大公共子串的方法
Feb 03 Javascript
JavaScript引用类型Object常见用法实例分析
Aug 08 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
解析PHP跨站刷票的实现代码
2013/06/18 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
2015/03/25 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
PHP输出Excel PHPExcel的方法
2018/07/26 PHP
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
jQuery添加/改变/移除CSS类及判断是否已经存在CSS
2014/08/20 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
ES6解构赋值实例详解
2017/10/31 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
ant-design-vue按需加载的坑的解决
2020/05/14 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Python标准库之sqlite3使用实例
2014/11/25 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
Django Rest framework三种分页方式详解
2019/07/26 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
2020/05/26 Python
python脚本和网页有何区别
2020/07/02 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
楼面经理岗位职责范本
2014/02/18 职场文书
需求分析说明书
2014/05/09 职场文书
党校学习党性分析材料
2014/12/19 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
Nginx配置之禁止指定IP访问
2022/05/02 Servers