javascript实现前端成语点击验证优化

 更新时间:2020年06月24日 09:22:27   作者:Jeslie-He  
这篇文章主要介绍了javascript实现前端成语点击验证优化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

对上一篇前端成语点击验证博客进行优化,主要优化事项有:

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;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Webpack完整打包流程实现

    Webpack完整打包流程实现

    Webpack是当下流行的JavaScript静态模块打包器,它能够处理应用中的所有资源文件,并将其打包成浏览器兼容的文件,本文就来介绍一下Webpack完整打包流程实现,感兴趣的可以了解一下
    2024-09-09
  • javascript基于原型链的继承及call和apply函数用法分析

    javascript基于原型链的继承及call和apply函数用法分析

    这篇文章主要介绍了javascript基于原型链的继承及call和apply函数用法,结合实例形式较为详细的分析了javascript中继承的概念、创建方法以及call和apply函数的功能与使用技巧,需要的朋友可以参考下
    2016-12-12
  • javascript web对话框与弹出窗口

    javascript web对话框与弹出窗口

    web对话框与弹出窗口的js函数
    2009-02-02
  • JS解密入门之凭直觉解

    JS解密入门之凭直觉解

    什么叫直觉解?根据目前流行的免杀方法,有这么几种初级加密方法。进制加密,URLEncode加密,加花
    2008-06-06
  • JavaScript中Map与reduce的应用小结

    JavaScript中Map与reduce的应用小结

    Map构造函数创建一个新Map对象,它允许以键值对的形式存储数据,提供了一种更加灵活的数据结构,本文给大家介绍JavaScript中Map与reduce的应用小结,感兴趣的朋友一起看看吧
    2024-06-06
  • Javascript仿PHP $_GET获取URL中的参数

    Javascript仿PHP $_GET获取URL中的参数

    这篇文章主要介绍了Javascript仿PHP $_GET获取URL中的参数代码实例,需要的朋友可以参考下
    2014-05-05
  • typescript 将数组清空的方法实现

    typescript 将数组清空的方法实现

    在开发应用程序时,数组常用于存储多个元素(如数字、字符串、对象等),然而,在某些场景下,你可能需要将数组清空,本文主要介绍了typescript 将数组清空的方法实现,感兴趣的可以了解一下
    2024-08-08
  • 深入浅析javascript中的作用域(推荐)

    深入浅析javascript中的作用域(推荐)

    js作用域是前端开发必掌握的基础知识。这篇文章主要介绍了javascript中的作用域的相关资料,需要的朋友可以参考下
    2016-07-07
  • js正则表达式中exec用法实例

    js正则表达式中exec用法实例

    这篇文章主要介绍了js正则表达式中exec用法,实例分析了javascript中使用exec执行正则表达式的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • JS前端加密算法示例

    JS前端加密算法示例

    这篇文章主要介绍了JS前端加密算法,结合实例形式分析了crypto-js具体用法与注意事项,需要的朋友可以参考下
    2016-12-12

最新评论