天天看点

php滑动解锁,JavaScript实现滑块验证解锁

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

// 引入矢量图标库

Document

* {

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;

}

滑动验证

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;

}

效果图如下:

php滑动解锁,JavaScript实现滑块验证解锁

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