前端滑块验证
2018-10-19 06:13:53来源:博客园 阅读 ()
1.前端页面应用滑块验证可以防止页面频繁向后台请求数据;
2.主要用到js事件:
onmousedown() 鼠标按下时响应
onmousemove() 鼠标移动时响应
onmouseup() 鼠标弹起时响应
3.获取页面距离:
e.clientX
obj.offsetWidth
obj.offsetLeft
4.代码:
html:
<div class="box"> <div class="txt">滑块验证</div> <div class="btn">>></div> <div class="bg"></div> </div>
css:
*{ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .box{ position: relative; width:300px; height:30px; background-color: #ccc; margin:20px auto; font-size:14px; line-height:30px; box-sizing:border-box; z-index:1; } .txt{ position: absolute; left: 50%; top:0; transform: translateX(-50%); color:blue; z-index:3; } .btn{ position: absolute; top:0; left: 0; width:40px; height:30px; border:1px solid #ccc; background-color: #fff; text-align: center; line-height: 30px; cursor: move; box-sizing: border-box; z-index:4; } .bg{ position: absolute; left: 0; top:0; width:0; height:30px; background-color:green; box-sizing: border-box; z-index:2; }
js:
window.onload = function(){ var box = document.querySelector(".box"), txt = document.querySelector(".txt"), btn = document.querySelector(".btn"), bg = document.querySelector(".bg"), end = false; btn.onmousedown = function(e){ var e = e || window.event; var point = e.clientX - box.offsetLeft; btn.onmousemove = function(e){ var moveW = e.clientX - box.offsetLeft - point; btn.style.left = moveW + "px"; bg.style.width = moveW + "px"; if(btn.offsetLeft<=0){ btn.style.left = "0"; } if(btn.offsetLeft>=(box.clientWidth - btn.clientWidth)){ btn.style.left = box.clientWidth - btn.clientWidth txt.innerHTML = "验证完成"; btn.onmousemove = null; btn.onmousedown = null; end = true; } } btn.onmouseup = function(){ btn.onmousemove = null; if(!end){ btn.style.left = "0"; bg.style.width = "0"; } } } }
5.显示
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:获取url上的参数
- js的验证表单 2020-03-18
- js调用刷新界面的几种方式 2020-03-05
- 高性能JavaScript循环语句和条件语句 2020-02-21
- js插件实现图片滑动验证码 2020-01-17
- Javascript实现前端简单的路由实例 2019-12-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash