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,超强推荐share.js
Dec 23 Javascript
关于可运行代码无法正常执行的使用说明
May 13 Javascript
JavaScript NaN和Infinity特殊值 [译]
Sep 20 Javascript
jQuery实现单行文字间歇向上滚动源代码
Jun 02 Javascript
在AngularJS中使用AJAX的方法
Jun 17 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
Nov 22 Javascript
详解angular中如何监控dom渲染完毕
Jan 03 Javascript
vue使用drag与drop实现拖拽的示例代码
Sep 07 Javascript
vue中实现图片压缩 file文件的方法
May 28 Javascript
vue渲染方式render和template的区别
Jun 05 Javascript
vue 组件简介
Jul 31 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缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
python 编写简单网页服务器的实例
2018/06/01 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
python字典排序的方法
2019/10/12 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
女大学生毕业找工作的自我评价
2013/10/03 职场文书
英语专业毕业生自我鉴定
2013/11/09 职场文书
说明书怎么写
2014/05/06 职场文书
档案工作汇报材料
2014/08/21 职场文书
上课不认真检讨书
2014/09/17 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
烈士陵园观后感
2015/06/08 职场文书
学校2016年圣诞节活动总结
2016/03/31 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP
MySQL数据库之存储过程 procedure
2022/06/16 MySQL