gpt4 book ai didi

JavaScript实现滑块验证解锁

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 33 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章JavaScript实现滑块验证解锁由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例为大家分享了JavaScript实现滑块验证解锁的具体代码,供大家参考,具体内容如下 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!DOCTYPE html>
< html lang = "en" >
 
< head >
  < meta charset = "UTF-8" >
  < meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
  // 引入矢量图标库
  < link rel = "stylesheet" href = "https://at.alicdn.com/t/font_2248239_eso2z5bskxk.css" >
  < title >Document</ title >
  < style >
  * {
   margin: 0;
   padding: 0;
  }
 
  .box {
   width: 300px;
   height: 40px;
   line-height: 40px;
   text-align: center;
   background-color: #e8e8e8;
   box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
   position: relative;
   margin-top: 100px;
   margin-left: 200px;
  }
 
  .box .bgColor {
   position: absolute;
   left: 0;
   top: 0;
   width: 40px;
   height: 40px;
  }
 
  .box .tips {
   position: absolute;
   width: 100%;
   height: 40px;
   line-height: 40px;
   font-size: 14px;
   color: #000;
   text-align: center;
   user-select: none;
  }
 
  .ball {
   width: 50px;
   height: 38px;
   border: 1px solid #ccc;
   background: #fff;
   text-align: center;
   cursor: move;
   position: absolute;
   top: 0;
   left: 0;
  }
  </ style >
</ head >
 
< body >
  < div class = "box" >
  < div class = "bgColor" ></ div >
  < div class = "tips" >滑动验证</ div >
  < div class = "ball" >< i class = "iconfont icon-double-arro-right" ></ i ></ div >
  </ div >
</ body >
< script >
  var box = document.getElementsByClassName("box")[0];
  var ball = document.getElementsByClassName("ball")[0];
  var bgColor = document.getElementsByClassName("bgColor")[0];
  var tips = document.getElementsByClassName("tips")[0];
  // 设置成功状态
  var isSuccess = false; //默认为false 不成功
  ball.onmousedown = function(e) {
  var e = e || window.event;
 
  // 获取鼠标相对于事件源左上角的位置
  var posx = e.offsetX;
 
  // 每次鼠标按下时 清除动画样式
  ball.style.transition = "";
  bgColor.style.transition = "";
  document.onmousemove = function(e) {
   var e = e || window.event;
   var x = e.pageX - box.offsetLeft - posx;
   var max = box.clientWidth - ball.clientWidth;
   if (x <= 0) {
   x = 0;
   }
   if (x >= max) {
   x = max;
   }
   bgColor.style.width = x + "px";
   ball.style.left = x + "px";
   bgColor.style.backgroundColor = "#6ff";
   if (x == max) {
   success();
   }
  }
  document.onmouseup = function() {
   // 如果没有解锁成功则返回原点
   if (!isSuccess) {
   bgColor.style.width = 0 + "px";
   ball.style.left = 0 + "px";
   ball.style.transition = "left 0.6s linear";
   bgColor.style.transition = "width 0.6s linear";
   }
   // 鼠标抬起时,移除鼠标移动事件和鼠标抬起事件
   document.onmouseup = null;
   document.onmousemove = null;
  }
  }
  // 定义一个滑块解锁成功的方法
  function success() {
  isSuccess = true;
  // 获取图标
  var icon = ball.firstElementChild;
  tips.textContent = "解锁成功";
  bgColor.style.backgroundColor = "lightgreen";
  icon.className = "iconfont icon-gou";
  icon.style.color = "lightgreen";
  //滑动成功时,移除鼠标按下事件
  ball.onmousedown = null;
  }
</ script >
 
</ html >

 效果图如下

JavaScript实现滑块验证解锁

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://blog.csdn.net/weixin_53278262/article/details/112172233 。

最后此篇关于JavaScript实现滑块验证解锁的文章就讲到这里了,如果你想了解更多关于JavaScript实现滑块验证解锁的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com