JavaScript實(shí)現(xiàn)登錄滑塊驗(yàn)證
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)登錄滑塊驗(yàn)證的具體代碼,供大家參考,具體內(nèi)容如下
html代碼
<div class="login-select">
<div v-show="errselectFlag" id="err-select"></div>
<p id="title-p">按住滑塊,拖拽驗(yàn)證</p>
<div id="left-select"></div>
<div id="right-select">
<i id="icon-dui" class="iconfont icon-right"></i>
</div>
</div>
javascript代碼
// 滑塊驗(yàn)證
var oRight = document.getElementById("right-select");
var bg = document.getElementById("left-select");
var title = document.getElementById("title-p");
var i = document.getElementById("icon-dui");
oRight.onmousedown = function (e) {
var downX = e.clientX; //按下按鈕后與窗口的x軸間距
// 鼠標(biāo)移動(dòng)事件
oRight.onmousemove = function (e) {
if (e.clientX != 240) {
oRight.style.left = 0 + "px";
bg.style.left = 0 + "px";
}
var moveX = e.clientX - downX; //滑動(dòng)的時(shí)候距離窗口的x軸的間距
//只有在大于0的時(shí)候才拖動(dòng),否則會(huì)出現(xiàn)反向拖動(dòng)
if (moveX > 0) {
oRight.style.left = moveX + "px"; //滑塊與左邊的距離
bg.style.width = moveX + "px"; //背景的寬度就是滑塊距離左邊的位置
if (moveX >= 280 - oRight.offsetWidth) {
i.className = "iconfont icon-xingzhuang";
i.style.color = "rgb(86, 192, 15)";
title.innerText = "驗(yàn)證通過";
title.style.color = "#fff";
oRight.onmousemove = null;
oRight.onmousedown = null;
}
}
};
};
style代碼
注:樣式為sass文件
*{margin: 0;padding: 0;box-sizing: border-box;}
.login-select {
width: 280px;
height: 40px;
margin: auto;
margin-top: 20px;
margin-left: 15px;
margin-right: 15px;
text-align: center;
line-height: 40px;
background: rgba(134, 134, 131, 0.6);
display: flex;
position: relative;
#err-select {
width: 138px;
height: 38px;
position: absolute;
right: -152px;
top: 0;
color: #fff;
font-size: 12px;
border-radius: 5px;
line-height: 38px;
text-align: center;
background: rgb(177, 71, 71);
}
#title-p {
text-align: center;
line-height: 40px;
width: 100%;
height: 100%;
font-size: 14px;
position: absolute;
}
#left-select {
width: 0;
height: 100%;
transform: translate(0.3s);
background: rgb(86, 192, 15);
}
#right-select {
width: 40px;
height: 40px;
background: #fff;
color: #aaaa;
text-align: center;
line-height: 40px;
border: 1px solid #ccc;
position: absolute;
cursor: move;
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
原生JavaScript實(shí)現(xiàn)五子棋游戲
這篇文章主要為大家詳細(xì)介紹了原生JavaScript實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
學(xué)習(xí)JavaScript設(shè)計(jì)模式(代理模式)
這篇文章主要帶領(lǐng)大家學(xué)習(xí)JavaScript設(shè)計(jì)模式,其中重點(diǎn)介紹代理模式,對(duì)代理模式進(jìn)行詳細(xì)剖析,感興趣的小伙伴們可以參考一下2015-12-12
JavaScript數(shù)據(jù)綁定實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 MVVM 庫
MVVM 是 Web 前端一種非常流行的開發(fā)模式,利用 MVVM 可以使我們的代碼更專注于處理業(yè)務(wù)邏輯而不是去關(guān)心DOM 操作。接下來通過本文給大家介紹JavaScript使用數(shù)據(jù)綁定實(shí)現(xiàn)一個(gè)簡(jiǎn)單的 MVVM 庫,感興趣的朋友一起學(xué)習(xí)吧2016-04-04
微信小程序列表渲染功能之列表下拉刷新及上拉加載的實(shí)現(xiàn)方法分析
這篇文章主要介紹了微信小程序列表渲染功能之列表下拉刷新及上拉加載的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了微信小程序列表下拉刷新及上拉加載的相關(guān)實(shí)現(xiàn)方法與技巧操作,需要的朋友可以參考下2017-11-11
微信小程序基于picker實(shí)現(xiàn)級(jí)聯(lián)菜單
這篇文章主要為大家詳細(xì)介紹了微信小程序基于picker實(shí)現(xiàn)級(jí)聯(lián)菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
實(shí)例講解DataTables固定表格寬度(設(shè)置橫向滾動(dòng)條)
下面小編就為大家?guī)硪黄獙?shí)例講解DataTables固定表格寬度(設(shè)置橫向滾動(dòng)條)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07

