91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js實現滑動滑塊驗證登錄的方法

發布時間:2020-07-27 09:29:26 來源:億速云 閱讀:521 作者:小豬 欄目:開發技術

這篇文章主要講解了js實現滑動滑塊驗證登錄的方法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

1.html代碼

<div class="box">
 <!--滑塊-->
 <a href="#" rel="external nofollow" ><div class="btn">>></div></a>
 <!--文字-->
 <p class="text">拖動滑塊驗證</p>
 <!--背景-->
 <div class="bg"></div> 
</div>

2.css樣式

最大的盒子相對定位,其他內部內容絕對定位
需要根據層級設置z-index保證滑動的正常使用

.box{
 position: relative;
 width: 300px;
 height: 34px;
 background: #e8e8e8;
 border-radius: 4px;
 left: 20px;
}
.btn{
 position: absolute;
 top: 0;
 width: 40px;
 height:32px;
 text-align: center;
 line-height: 32px;
 border-radius: 4px;
 z-index: 3;
 background-color: #fff;
 border: 1px solid #ccc;
 color: black;
}
.text{
 position: absolute;
 width: 100%;
 margin: 0;
 text-align: center;
 line-height: 34px;
 display: block;
 z-index: 2;
 /*-webkit-margin-before: 1em;
 -webkit-margin-after: 1em;*/
}
.bg{
 position: absolute;
 height: 100%;
 background-color: yellowgreen;
 z-index: 1;
}

樣式

js實現滑動滑塊驗證登錄的方法

3.js事件

分析使用過程:按住滑塊并拖動可以移動,中途松開滑塊返回起始位置,拖動至最后滑塊不動
分析動作:
1.按鈕按下并移動
2.事件狀態:event對象(鼠標位置)event.clientX獲得與X軸的距離
3.松開按鈕回到原處
4.結束,松開按鈕,按鈕不可再次拖動

1)

var btn=document.querySelector(".btn");
var box=document.querySelector(".box");
var bg=document.querySelector(".bg");
var text=document.querySelector(".text");

或者使用封裝選擇器

function $(name){
  return document.querySelector(name);
};
 var box=$(".box"),btn=$(".btn").....;

2)按下

按下后獲得與x軸的距離

btn.onmousedown=function(e){
  var downX=e.clientX; 

3)拖動

拖動后獲得與x軸距離減去初始值距離得到按鈕移動的值
根據移動的值:判斷按鈕是否可以正常移動,判斷按鈕是否已經完成驗證

btn.onmousemove=function(e){
 var moveX=e.clientX-downX; 
// console.log(moveX);
 
 //移動范圍
 if(moveX>-2){
 this.style.left=moveX+"px";//將移動值賦值給滑塊
 bg.style.width=moveX+"px";//背景
 if(moveX>=(box.offsetWidth-btn.offsetWidth)){//包含原始寬度內邊距邊框,不包含外邊框
 //拖到頭,驗證成功
 flag=true;
 text.innerHTML="驗證成功";
 text.style.color="white";
 //事件清除
 btn.onmousedown=null;
 btn.onmousemove=null;
 }
 }

4)松開按鈕

回到原處清除拖動

btn.onmouseup=function(){ 
 //事件清除
  btn.onmousemove=null;
  if(flag)return;
  this.style.left=0;//將移動值賦值給滑塊
 bg.style.width=0;//背景
 
 }

4.效果

js實現滑動滑塊驗證登錄的方法

5.源碼

//原生寫法
window.onload=function(){
 var btn=document.querySelector(".btn");
 var box=document.querySelector(".box");
 var bg=document.querySelector(".bg");
 var text=document.querySelector(".text");
 //封裝選擇器
// function $(name){
// return document.querySelector(name);
// };
// var box=$(".box"),btn=$(".btn").....;
 var flag=false;
 //按下onmousedown 拖動onmousemove
 //document.querySelector(".btn").onmousedown=function(event){//event事件狀態
// var e=event||window.event;
 //獲取方法集合,可直接通過id, 類, 類型, 屬性, 屬性值等來選取元素(返回此名字的第一個)。
 btn.onmousedown=function(e){//按下
  var downX=e.clientX; //按下后對x軸的距離
//  console.log(downX);
//  alert("1");
 
 btn.onmousemove=function(e){//拖動
 var moveX=e.clientX-downX; //拖動后與x軸距離減去初始值距離,移動值
// console.log(moveX);
 
 //移動范圍
 if(moveX>-2){
 this.style.left=moveX+"px";//將移動值賦值給滑塊
 bg.style.width=moveX+"px";//背景
 if(moveX>=(box.offsetWidth-btn.offsetWidth)){//包含原始寬度內邊距邊框,不包含外邊框
 //拖到頭,驗證成功
 flag=true;
 text.innerHTML="驗證成功";
 text.style.color="white";
 //事件清除
 btn.onmousedown=null;
 btn.onmousemove=null;
 }
 }
 }
 }
 
 //松開按鈕
 btn.onmouseup=function(){ 
 //事件清除
  btn.onmousemove=null;
  if(flag)return;
  this.style.left=0;//將移動值賦值給滑塊
 bg.style.width=0;//背景
 
 }
}

看完上述內容,是不是對js實現滑動滑塊驗證登錄的方法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

甘谷县| 长泰县| 远安县| 巩留县| 白山市| 肃宁县| 山阴县| 杂多县| 尉氏县| 根河市| 东安县| 高碑店市| 大关县| 南汇区| 裕民县| 河津市| 新邵县| 云阳县| 青铜峡市| 奉贤区| 郓城县| 资阳市| 临沧市| 成都市| 博白县| 都昌县| 东平县| 卓资县| 淮安市| 金山区| 互助| 靖州| 甘洛县| 政和县| 新和县| 丰台区| 简阳市| 桦川县| 息烽县| 浦江县| 大兴区|