javascript实现滑动解锁功能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript实现滑动解锁功能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3382字,纯文字阅读大概需要5分钟。
内容图文
效果图:
代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <style type="text/css"> * { margin: 0; padding: 0; } #slider-box { width: 300px; height: 50px; border-radius: 4px; background: #ccc; margin: 250px auto; position: relative; } #slider { width: 48px; height: 48px; border: 1px solid #eee; text-align: center; line-height: 48px; display: inline-block; background: #fff; border-radius: 4px; cursor: move; position: absolute; left: 0; z-index: 5; } #slider-text { text-align: center; line-height: 50px; display: inline-block; width: 100%; height: 50px; font-family: "微软雅黑"; position: absolute; left: 0; z-index: 4; } #slider-bg { width: 0; height: 48px; background: green; position: absolute; z-index: 3; border-radius: 4px; } #slider-Emerge { width: 100px; background:; height: 50px; position: absolute; } #stop-go { width: 48px; height: 48px; border: 1px solid #eee; background:#36F; position: absolute; right: -1px; display: none; text-align: center; line-height: 48px; color: #fff; font-family: "微软雅黑"; border-radius: 4px; z-index: 5; } div{ -moz-user-select:none; -webkit-user-select:none; user-select:none; } </style> </head> <body> <div id="slider-box"> <span id="slider">></span> <span id="slider-text">滑动解锁</span> <span id="slider-bg"></span> <span id="slider-Emerge"></span> <span id="stop-go">∨</span> </div> </body> <script type="text/javascript"> var sliderel={ $: function(selector){ return document.getElementById(selector) }, getEvent:function(e){ var e=e || window.event return e; }, stopBubble:function(e){ var e =this.getEvent(e) if(typeof e.preventDefault != "undefined"){ e.preventDefault(); }else{ e.returnValue = false; } } }, Elemt={ flag:false, nowMoseX: 0, mx:sliderel.$("slider-box"), sd:sliderel.$("slider"), st:sliderel.$("slider-text"), sb:sliderel.$("slider-bg"), se:sliderel.$("slider-Emerge"), sg:sliderel.$("stop-go"), } Elemt.sd.onmousedown=function(e){ var e =sliderel.getEvent(e) sliderel.stopBubble(e); Elemt.flag=true nowMoseX=e.clientX-Elemt.sd.offsetLeft; } //滑块最大移动的距离 maxMove=Elemt.mx.offsetWidth -Elemt.sd.offsetWidth; //鼠标移动的时候是否成功 Elemt.mx.onmousemove=function(e){ var e =sliderel.getEvent(e) if(Elemt.flag){ var moveX=e.clientX-nowMoseX; var oElemLeft=Elemt.sd.offsetLeft;//判断滑块移动的范围 if(oElemLeft<0){ //判断滑块是否超出限制位置 moveX=0; Elemt.flag=false }else if(oElemLeft>maxMove){ moveX=maxMove; Elemt.sg.style.display="block"; Elemt.sd.style.display="none" Elemt.sb.style.width=300+"px" Elemt.st.innerHTML="滑动成功" Elemt.st.style.color="#fff" } } Elemt.sd.style.left=moveX+"px" Elemt.sb.style.width=oElemLeft+20+"px"; } //当鼠抬起判断是否滑动成功 Elemt.mx.onmouseup=function(e){ var e =sliderel.getEvent(e) Elemt.flag=false if(Elemt.sd.offsetLeft<maxMove){ speed=Math.ceil(Elemt.sd.offsetLeft/40); time=setInterval(function(){ if(Elemt.sd.offsetLeft>=0){ Elemt.sd.style.left=Elemt.sd.offsetLeft-speed+"px"; Elemt.sb.style.width=Elemt.sb.offsetWidth-speed+"px"; }else{ clearInterval(time); return false; } },10) } } //当鼠离开是否滑动成功 Elemt.sd.onmouseout=function(e){ sliderel.stopBubble(e); Elemt.flag=false; if( Elemt.sd.offsetLeft<maxMove){ speed=Math.ceil(Elemt.sd.offsetLeft/40); time=setInterval(function(){ if(Elemt.sd.offsetLeft>=0){ Elemt.sd.style.left=Elemt.sd.offsetLeft-speed+"px"; Elemt.sb.style.width=Elemt.sb.offsetWidth-speed+"px"; }else{ clearInterval(time); return false; } },10); } } </script> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
内容总结
以上是互联网集市为您收集整理的javascript实现滑动解锁功能全部内容,希望文章能够帮你解决javascript实现滑动解锁功能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。