全网整合营销服务商

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

免费咨询热线: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 


相关文章: 建站主机服务器选购指南:轻量应用与VPS配置解析  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  如何在建站之星网店版论坛获取技术支持?  建站与域名管理如何高效结合?  电商网站制作公司有哪些,1688网是什么意思?  如何高效利用亚马逊云主机搭建企业网站?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  如何挑选最适合建站的高性能VPS主机?  如何在万网ECS上快速搭建专属网站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何在阿里云ECS服务器部署织梦CMS网站?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  如何快速查询域名建站关键信息?  如何选择适合PHP云建站的开源框架?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  定制建站策划方案_专业建站与网站建设方案一站式指南  如何快速启动建站代理加盟业务?  如何在西部数码注册域名并快速搭建网站?  如何快速建站并高效导出源代码?  如何快速搭建高效WAP手机网站吸引移动用户?  广州建站公司哪家好?十大优质服务商推荐  建站之星官网登录失败?如何快速解决?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  建站主机是否等同于虚拟主机?  建站之星安装步骤有哪些常见问题?  设计网站制作公司有哪些,制作网页教程?  简单实现Android文件上传  广平建站公司哪家专业可靠?如何选择?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  威客平台建站流程解析:高效搭建教程与设计优化方案  网站制作价目表怎么做,珍爱网婚介费用多少?  C#怎么创建控制台应用 C# Console App项目创建方法  建站VPS选购需注意哪些关键参数?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  建站之星2.7模板:企业网站建设与h5定制设计专题  如何选择域名并搭建高效网站?  已有域名和空间如何搭建网站?  如何高效配置IIS服务器搭建网站?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  活动邀请函制作网站有哪些,活动邀请函文案?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  建站之星安装后如何配置SEO及设计样式?  如何在Windows服务器上快速搭建网站?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  如何通过多用户协作模板快速搭建高效企业网站?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  临沂网站制作企业,临沂第三中学官方网站? 

您的项目需求

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