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 相关文章推荐
javascript打印大全(打印页面设置/打印预览代码)
Mar 29 Javascript
兼容IE和FF的图片上传前预览js代码
May 28 Javascript
JS设置获取cookies的方法
Jan 26 Javascript
更靠谱的H5横竖屏检测方法(js代码)
Sep 13 Javascript
微信小程序 window_x64环境搭建
Sep 30 Javascript
微信小程序实现带刻度尺滑块功能
Mar 29 Javascript
浅谈vue项目可以从哪些方面进行优化
May 05 Javascript
vue-router动态设置页面title的实例讲解
Aug 30 Javascript
默认浏览器设置及vue自动打开页面的方法
Sep 21 Javascript
JS实现马赛克图片效果完整示例
Apr 13 Javascript
微信小程序封装分享与分销功能过程解析
Aug 13 Javascript
JS动态图片的实现方法完整示例
Jan 13 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函数常用用法小结
2010/02/08 PHP
PHP开发中常用的字符串操作函数
2011/02/08 PHP
深入PHP FTP类的详解
2013/06/13 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
2015/03/18 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
javascript 的Document属性和方法集合
2010/01/25 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
javascript获取flash版本号的方法
2014/11/20 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
jquery队列函数用法实例
2014/12/16 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
JS简单获得节点元素的方法示例
2018/02/10 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
用PyQt进行Python图形界面的程序的开发的入门指引
2015/04/14 Python
Python中的变量和作用域详解
2016/07/13 Python
python基础之入门必看操作
2017/07/26 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
python 表格打印代码实例解析
2019/10/12 Python
使用纯HTML5编写一款网页上的时钟的代码分享
2015/11/16 HTML / CSS
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
个人简历自我评价范文
2014/02/04 职场文书
2015年植树节活动总结
2015/02/06 职场文书
2015年班组工作总结
2015/04/20 职场文书