全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

javascript实现滑动解锁功能

效果图:

代码如下:

<!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>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# js实现滑动解锁  # javascript  # 滑动  # 滑动事件  # jQuery使用unlock.js插件实现滑动解锁  # javascript实现滑动解锁功能  # js实现html滑动图片拼图验证  # JS实现滑动拼图验证功能完整示例  # js+canvas实现滑动拼图验证码功能  # 使用 Node.js 模拟滑动拼图验证码操作的示例代码  # JS实现PC手机端和嵌入式滑动拼图验证码三种效果  # javascript结合Flexbox简单实现滑动拼图游戏  # 原生js实现简单滑动解锁功能 js实现滑动拼图解锁  # 微软  # 滑块  # 鼠标  # 解锁  # 判断是否  # display  # eee  # line  # solid  # background  # ccc  # border  # radius  # position  # relative  # auto  # index  # left  # font  # green 


相关文章: 建站168自助建站系统:快速模板定制与SEO优化指南  香港服务器建站指南:免备案优势与SEO优化技巧全解析  建站之星如何开启自定义404页面避免用户流失?  小型网站制作HTML,*游戏网站怎么搭建?  Thinkphp 中 distinct 的用法解析  如何在Golang中指定模块版本_使用go.mod控制版本号  C#怎么创建控制台应用 C# Console App项目创建方法  如何在阿里云香港服务器快速搭建网站?  建站之星在线客服如何快速接入解答?  如何注册花生壳免费域名并搭建个人网站?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  如何选择网络建站服务器?高效建站必看指南  建站之星图片链接生成指南:自助建站与智能设计教程  C++中引用和指针有什么区别?(代码说明)  建站之星安装后如何配置SEO及设计样式?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  已有域名能否直接搭建网站?  seo网站制作优化,网站SEO优化步骤有哪些?  如何用花生壳三步快速搭建专属网站?  视频网站制作教程,怎么样制作优酷网的小视频?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  如何通过二级域名建站提升品牌影响力?  非常酷的网站设计制作软件,酷培ai教育官方网站?  高端建站三要素:定制模板、企业官网与响应式设计优化  建站VPS选购需注意哪些关键参数?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何基于PHP生成高效IDC网络公司建站源码?  简单实现Android文件上传  建站之星CMS五站合一模板配置与SEO优化指南  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何选择靠谱的建站公司加盟品牌?  如何自定义建站之星模板颜色并下载新样式?  婚礼视频制作网站,学习*后期制作的网站有哪些?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何快速启动建站代理加盟业务?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  如何通过云梦建站系统实现SEO快速优化?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  如何选择服务器才能高效搭建专属网站?  如何挑选高效建站主机与优质域名?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  建站主机数据库如何配置才能提升网站性能?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。