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实现禁止后退的方法
Dec 27 Javascript
执行iframe中的javascript方法
Oct 07 Javascript
基于jQuery的js分页代码
Jun 10 Javascript
iphone safari不支持position fixed的解决方法
May 04 Javascript
使用GruntJS构建Web程序之合并压缩篇
Jun 06 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 Javascript
通过vue-cli3构建一个SSR应用程序的方法
Sep 13 Javascript
详解如何用webpack4从零开始构建react开发环境
Jan 27 Javascript
微信小程序如何调用新闻接口实现列表循环
Jul 02 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 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
mysq GBKl乱码
2006/11/28 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
2013/06/20 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
thinkphp实现面包屑导航(当前位置)例子分享
2014/05/10 PHP
php实现生成验证码实例分享
2016/04/10 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
angular.element方法汇总
2015/01/07 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
jQuery+HTML5加入购物车代码分享
2020/10/29 Javascript
PhotoSwipe异步动态加载图片方法
2016/08/25 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
MVVM 双向绑定的实现代码
2018/06/21 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
python实现比较两段文本不同之处的方法
2015/05/30 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
Django时区详解
2019/07/24 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
Python实现名片管理系统
2020/02/14 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
医药代表个人求职信范本
2013/12/19 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
小学教师暑期培训心得体会
2016/01/09 职场文书