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 多浏览器分别判断代码
Apr 01 Javascript
13个绚丽的Jquery 界面设计网站推荐
Sep 28 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
Jan 13 Javascript
JS复制到剪贴板示例代码
Oct 30 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
May 04 Javascript
javascript表格的渲染组件
Jul 03 Javascript
深入浅析Node.js 事件循环
Dec 20 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 Javascript
vue多个元素的样式选择器问题
Nov 29 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
Dec 16 Javascript
JS面向对象之单选框实现
Jan 17 Javascript
Javascript confirm多种使用方法解析
Sep 25 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-Redis安装测试笔记
2015/03/05 PHP
php生成短域名函数
2015/03/23 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
Python实现二分法算法实例
2015/02/02 Python
利用Python查看目录中的文件示例详解
2017/08/28 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
Python subprocess库的使用详解
2018/10/26 Python
关于Python作用域自学总结
2019/06/10 Python
Python3 实现串口两进程同时读写
2019/06/12 Python
简单了解python变量的作用域
2019/07/30 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
Python facenet进行人脸识别测试过程解析
2019/08/16 Python
浅析python函数式编程
2020/09/26 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
美国豪华时尚女性精品店:Kirna Zabête
2018/01/11 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
serialVersionUID具有什么样的特征
2014/02/20 面试题
简述DNS进行域名解析的过程
2013/12/02 面试题
小学数学教学反思
2014/02/02 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
详解在OpenCV中如何使用图像像素
2022/03/03 Python