效果图:

 实现思路:

随机在文字库取一个成语生成点击的文字

随机生成文字的坐标, 刷新更换文字...详看代码注释

注:中间有些逻辑不对,坐标获取会跑出去,如果有更好的意见欢迎留言

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>文字验证</title><style>.box {width: 500px;height: 300px;position: relative;box-shadow: 1px 1px 5px #2e2e2e;margin: 80px auto;}/* 上面盒子 */.topbox {position: relative;}/* 图片 */.topboximg {width: 100%;height: 210px;/* padding: 24px; */}/* 刷新 */.refresh {position: absolute;right: 4px;top: 0px;color: white;font-weight: bolder;font-size: 30px;cursor: pointer;}/* 文字 */.toptext {/* position: relative; */display: flex;justify-content: space-between;cursor: pointer;}.textspan {position: absolute;top: 0;left: 0;}.toptext > span {color: rgb(204, 255, 0);font-weight: 500;font-size: 18px;}/* 下面盒子 */.bottombox {width: 450px;height: 50px;border: 1px solid #f7f4f4;background-color: #fffcfc;box-shadow: 1px 1px 3px #ccc;position: absolute;bottom: 20px;left: 24px;text-align: center;line-height: 50px;}.bottombox > span {text-align: center;line-height: 50px;font-size: 16px;}</style></head><body><div class="box"><!-- 上面盒子 --><div class="topbox"><!-- 图片 --><img class="topboximg" src="https://img2.baidu.com/it/u=904906806,3927953455&fm=253&fmt=auto&app=138&f=JPEG?w=752&h=500" alt="" /><!-- 刷新 --><div class="refresh">↺</div><!-- 文字 --><div class="toptext"><span class="textspan">大</span><span class="textspan">威</span><span class="textspan">天</span><span class="textspan">龙</span></div></div><!-- 下面盒子 --><div class="bottombox"><span class="spanx">请依次点击图片中的文字</span></div></div><script>// <顺序点击文字验证>// 随机在文字库取一个成语生成点击的文字// 功能实现:随机数 随机文字 刷新更换文字//文字库var textData = ["一马平川", "鹰击长空", "万家灯火", "厚德载物", "欣欣向荣"];var box = document.querySelector(".box");// 上面盒子var topbox = document.querySelector(".topbox");// 下面盒子var bottombox = document.querySelector(".bottombox");// 成语文字var textspan = document.querySelectorAll(".textspan");// 刷新按钮var refresh = document.querySelector(".refresh");// 图片var topboximg = document.querySelector(".topboximg");// 下面字var spanx = document.querySelector(".spanx");// 获取图片宽高var imgWidth = topboximg.clientWidth;var imgHight = topboximg.clientHeight;var textspanW = textspan[0].clientWidth;var textspanH = textspan[0].clientHeight;console.log(refresh);var clickindex = -1;var clicktrue = false;// (刷新更换文字功能)var foor = (refresh.onclick = function () {console.log(666);refresh.style.color = "yellow";// (点击更换颜色功能)clickindex = -1;textspan.forEach(function (item, index) {item.onclick = function () {item.style.backgroundColor = "blue";// console.log("更换成功");console.log(item.innerText);clickindex += 1;// 判断验证是否成功if (str[clickindex] == item.innerText) {console.log(str[clickindex]);clicktrue = true;} else {console.log("不匹配");clicktrue = false;}if (clickindex == 3) {if (clicktrue) {console.log("输出成功");bottombox.innerHTML = "验证成功!";bottombox.style.backgroundColor = "skyblue";} else {console.log("失败");bottombox.innerHTML = "验证失败,请重试";bottombox.style.backgroundColor = "yellow";}}};item.style.backgroundColor = "";});refresh.onmouseleave = function () {refresh.style.color = "white";console.log("鼠标移出了");};// refresh.onclick();// 获取随机数var random = Math.floor(Math.random() * textData.length);console.log(random);// 截取字符串var str = textData[random].split("");console.log(str);for (var i = 0; i < str.length; i++) {textspan[i].textContent = str[i];console.log(str[i]);}// (随机文字坐标功能)// var idiom = [];textspan.forEach(function (item) {// item.onclick = function () {var left = Math.floor(Math.random() * imgWidth - textspanW);var top = Math.abs(Math.floor(Math.random() * imgHight - textspanH) - 10);item.style.left = left + "px";item.style.top = top + "px";console.log(left);// }});var react = topbox.getBoundingClientRect();console.log(react);// 下面文字绑定上面文字bottombox.innerText = "请依次点击图片中的" + str;});</script></body>
</html>

javascript顺序点击文字验证相关推荐

  1. JavaScript实现点击文字验证

    代码如下: <!DOCTYPE html> <html><head><meta charset="utf-8"><title& ...

  2. Python破解携程点击文字验证

    本次使用到的知识 Python selenium模块 百度通用文字识别SDK的调用,api自己去申请,每天最多50次免费调用,文档地址:http://ai.baidu.com/docs#/OCR-AP ...

  3. 使用jquery实现图形点击文字按顺序验证码案例及代码完整版

    首先进入这个网站:https://www.51qianduan.com 搜索验证码 网站为https://www.51qianduan.com/article/10774.html 如图 点击下载解压 ...

  4. 使用selenium自动登陆b站 图片文字验证识别

    文章目录 前言 一. 反,反反爬虫 1.反爬虫 2.反反爬虫 二,超级鹰 三.完整代码 1.导包 2.超级鹰接口 3.连接手动开启的浏览器 4.定位文本框标签 5.图片文字识别 6.文本处理,坐标处理 ...

  5. html点击按钮动复制推广地址,JavaScript实现点击按钮就复制当前网址

    JavaScript实现点击按钮就复制当前网址 点击按钮复制当前网址: 在大量的网站都有这样的功能,当点击一个按钮的时候可以复制当前页面的地址,以此可以方便网站用户对链接的存储,同时也便于网站的推广, ...

  6. 点击文字可以选中相应的checkbox

    点击文字可以选中相应的checkbox (2008-11-22 14:16:40) 转载▼ 标签: 杂谈 分类: javascript 转载: 这是一个例子: <html> <hea ...

  7. 点击文字弹出一个DIV层窗口代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  8. php中表单的非空验证,Javascript的表单与验证-非空验证_javascript技巧

    JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 表单提交前要检查数据的合法性 在要对表单里的数据进行验证的时候,可以利用getElementById()来 ...

  9. HTML复选框,点击文字,对应的复选框选中

    HTML怎么添加,点击文字,对应的复选框选中的效果呢? 将对应的文字用label标签包起来,然后加上for属性指向复选框的id即可! <!DOCTYPE html> <html> ...

最新文章

  1. modal ajax,在Modal中调用Vue.js AJAX
  2. linux下安装MySQL出错file /usr/share/mysql/charsets/latin2.xml from install of MySQL-......
  3. 校验金额、大小写字母、大写字母、合法uri、email
  4. java流式传输对象_使用Java 8在地图上流式传输
  5. 从梯度下降到ADMM-学习记录
  6. 当心异步刷新后的脚本文件加载
  7. Halcon学习路线——模板匹配和仿射变换
  8. STM32F103系列选型
  9. 10种软件滤波方法的示例程序(匠人转载学习)
  10. 北航计算机学院复试流程,2018北航计算机考研复试经验
  11. conda python源配置
  12. 超好用的在线脑图分享,可以白嫖还能一键制作PPT和小视频
  13. 今有物不知其数三三数之JAVA_课后练习:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?...
  14. QQ空间迁移_【深度解锁数据恢复】
  15. 每个家庭将有一台计算机英语,2011年6月英语四级考试模拟试题及答案9
  16. Python 重载向量加法运算符 +
  17. [转载]圣人的35个习惯
  18. mini2440 LED 测试
  19. 普歌--前端 vue-element-admin 实现第三方(无账号密码)登录
  20. 烟台大学—贺利坚的计算机课程教学链接

热门文章

  1. Spark大数据分析案例之平均心率检测[2021]
  2. Web前端开发需要学习哪些知识
  3. 对“数字+企业数字化+数据中台”的灵魂追问
  4. 走进Visual C++
  5. vivo手机mitmproxy安全证书安装
  6. 微信小程序开发后台篇(四)AWS EC2实例云部署---Windows环境通过PuTTY连接EC2实例
  7. 【HTML】【JS】【CSS】实现可移动div窗体,超出浏览器大小将返回边缘。
  8. Django应用与分布式路由
  9. 【Pytorch】Tensor.contiguous()使用与理解
  10. Hadoop——你不得不了解的大数据工具