javascript实现滑动解锁功能
发布时间 - 2026-01-11 00:17:43 点击率:次效果图:
代码如下:
<!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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
网站制作报价单模板图片,小松挖机官方网站报价?
Python函数文档自动校验_规范解析【教程】
Laravel中的withCount方法怎么高效统计关联模型数量
Android使用GridView实现日历的简单功能
如何在阿里云完成域名注册与建站?
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
如何快速生成凡客建站的专业级图册?
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
想要更高端的建设网站,这些原则一定要坚持!
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
详解jQuery中的事件
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
Java类加载基本过程详细介绍
Laravel怎么判断请求类型_Laravel Request isMethod用法
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
微信小程序 canvas开发实例及注意事项
JavaScript Ajax实现异步通信
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
如何确保西部建站助手FTP传输的安全性?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何快速完成中国万网建站详细流程?
详解jQuery停止动画——stop()方法的使用
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
中国移动官方网站首页入口 中国移动官网网页登录
如何在IIS服务器上快速部署高效网站?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
海南网站制作公司有哪些,海口网是哪家的?
怎么用AI帮你设计一套个性化的手机App图标?
装修招标网站设计制作流程,装修招标流程?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
bing浏览器学术搜索入口_bing学术文献检索地址
C#如何调用原生C++ COM对象详解
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
个人网站制作流程图片大全,个人网站如何注销?

