本篇文章就给大家介绍javascript实现前端滑块验证效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。
1、前端页面应用滑块验证可以防止页面频繁向后台请求数据;
2、主要用到js事件:
onmousedown():鼠标按下时响应
onmousemove():鼠标移动时响应
立即学习“Java免费学习笔记(深入)”;
onmouseup() : 鼠标弹起时响应
3、获取页面距离的语句:
e.clientXobj.offsetWidthobj.offsetLeft
登录后复制
4、代码:
html:
滑块验证
>>
登录后复制
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=(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"; } } } }
登录后复制
总结:以上就是本篇文的全部内容,代码很简单,大家可以动手试试。希望能对大家的学习有所帮助,更多相关教程请访问JavaScript视频教程,jQuery视频教程,bootstrap教程!
以上就是JavaScript实现前端滑块验证效果(代码实例)的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2739086.html