版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第JS實(shí)現(xiàn)拖動(dòng)滑塊驗(yàn)證1、獲取silde滑塊(獲取元素)
2、為元素注冊事件鼠標(biāo)點(diǎn)擊事件(onmousedown)鼠標(biāo)點(diǎn)擊之后獲得當(dāng)前鼠標(biāo)的X坐標(biāo)。
3、如何獲取到鼠標(biāo)的x坐標(biāo)使用clientX事件(當(dāng)事件被觸發(fā)時(shí),鼠標(biāo)指針的水平坐標(biāo))。
4、鼠標(biāo)移動(dòng)事件發(fā)生后根據(jù)從最開始點(diǎn)擊的X值到移動(dòng)后的X值之差,作為滑塊移動(dòng)的差值鼠標(biāo)移動(dòng)事件(onmousemove);
5、獲取鼠標(biāo)移動(dòng)之后的X坐標(biāo)
6、獲得初始X坐標(biāo)和移動(dòng)后X值
7、該變left的值
8、綠色背景跟著小滑塊走
9、鼠標(biāo)抬起清除鼠標(biāo)移動(dòng)事件。
注意:哪怕鼠標(biāo)移動(dòng)的時(shí)候超出了最外面的方塊區(qū)域,滑塊也要可以移動(dòng)。所以不能只在滑塊上設(shè)置移動(dòng)事件,需要在文檔document上設(shè)置移動(dòng)事件。
主要用到的事件:
1、鼠標(biāo)點(diǎn)擊事件onmousedown;
2、鼠標(biāo)移動(dòng)事件onmousemove;
3、獲取鼠標(biāo)指針X坐標(biāo)clientX;
4、鼠標(biāo)按鍵被松開onmouseup;(有點(diǎn)類似與click點(diǎn)擊)
1、作用域一個(gè)函數(shù)擁有一個(gè)作用域(局部作用域)
2、怎樣才能實(shí)現(xiàn)鼠標(biāo)移動(dòng)的時(shí)候使滑塊也移動(dòng):改變滑塊的left值。
3、想要實(shí)現(xiàn)滑塊跟隨鼠標(biāo)移動(dòng),就要獲得鼠標(biāo)移動(dòng)的x坐標(biāo)。
實(shí)現(xiàn)代碼:
!DOCTYPEhtml
htmllang="en"
head
metacharset="UTF-8"
titleDocument/title
style
*{
padding:0;
margin:0;
}
body{
user-select:none;
/*禁止用戶選中*/
}
.wrap{
width:300px;
height:40px;
background-color:#e8e8e8;
margin:100pxauto;
text-align:center;
line-height:40px;
/*border-radius:7px;*/
position:relative;
}
.rect{
position:relative;
width:300px;
height:100%;
}
.rec{
position:absolute;
top:0;
left:0;
width:0;
height:100%;
background:#00b894;
}
.silde{
position:absolute;
top:0;
left:0;
z-index:11;
/*在這里面,當(dāng)設(shè)置長寬為40px時(shí)在加上邊框1px就會(huì)超出40px。
可以使用怪異盒模型,怪異盒模型會(huì)使盒子的寬高包括邊框,操持40px;*/
box-sizing:border-box;
width:40px;
height:40px;
background:#fff;
border:1pxsolid#ccc;
}
/style
/head
body
div
div
div滑塊拖拽驗(yàn)證
divimgsrc="hkkkk.png"alt=""/div
/div
/div
/div
script
//獲取事件
varsilde=document.querySelector('.silde');
varrec=document.querySelector('.rec');
varrect=document.querySelector('.rect');
varimg=document.querySelector('img');
varminusX;
//保存變化的X坐標(biāo)(全局變量)
//注冊事件
silde.onmousedown=function(e){
//鼠標(biāo)點(diǎn)擊事件,點(diǎn)擊之后執(zhí)行函數(shù),獲得點(diǎn)擊位置的X坐標(biāo)
varinitX=e.clientX;
//保存初始按下位置的X坐標(biāo);
console.log(11,e);
//用以測試
document.onmousemove=function(e){
//鼠標(biāo)移動(dòng)事件
varmoveX=e.clientX;
//varminusX=moveX-initX;
//變化的坐標(biāo)(要注意作用域的問題,在這里面定義變量,在這個(gè)函數(shù)之外的函數(shù)就沒法使用,所以要將minusX變成全局變量)
minusX=moveX-initX;
//這里注意一下,獲得的minusX只是一個(gè)差值,沒有單位想讓滑塊的位置改變還需要加上單位px
//這個(gè)時(shí)候滑塊會(huì)跟隨鼠標(biāo)整個(gè)頁面一行的跑,價(jià)格條件判段,限制滑塊移動(dòng)的區(qū)域不可以超過邊框,保持left=0。
if(minusX0){
//silde.style.left='0';
minusX=0;
}
if(minusX260){//判斷最大值
//silde.style.left='251';
//這里面的距離用邊框長度減去滑塊的長度300-49
minusX=260;
console.log('我到頭了');
}
silde.style.left=minusX+'px';
rec.style.width=minusX+'px';
if(minusX=260){
rect.style.color='white';
img.src='sure.png';
document.onmousemove=null;
silde.onmousedown=null;
//rect.innerHTML='驗(yàn)證成功';
}
//console.log(222,e,minusX);
//用以測試
}
}
document.onmouseup=function(){
//鼠標(biāo)抬起事件
document.onmousemove=null;
//不允許鼠標(biāo)移動(dòng)事件發(fā)生
console.log(111);
if(minusX260){//如果沒有到頭
img.src='hkkkk.png';
silde.style.left=0;
//設(shè)置一個(gè)left值
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025 小學(xué)一年級科學(xué)下冊認(rèn)識常見植物花朵課件
- 2026年玄武巖礦化封存項(xiàng)目可行性研究報(bào)告
- 2025年江蘇省徐州市中考生物真題卷含答案解析
- 2025年中級(四級)化學(xué)檢驗(yàn)員(石油化工科研實(shí)驗(yàn))理論知識試題及答案
- 2025年建筑施工技術(shù)練習(xí)題庫+答案(附解析)
- 2025年焊工(三級)焊接工藝評估考試試卷(附答案)
- 人力資源部年度工作總結(jié)和計(jì)劃
- 2025年鼻炎考試試題及答案
- 消防保衛(wèi)措施
- 2025年化工行業(yè)應(yīng)知應(yīng)會(huì)試題及答案
- 2025-2026學(xué)年小學(xué)蘇少版(2024)新教材一年級上冊美術(shù)期末測試卷及答案
- 2025-2026學(xué)年北師大版六年級數(shù)學(xué)上冊期末測試卷及答案
- 不同類型休克的床旁超聲鑒別診斷策略
- 企業(yè)ESG審計(jì)體系構(gòu)建-洞察及研究
- 政治理論考試試題庫100題
- 2025醫(yī)療器械經(jīng)營質(zhì)量管理體系文件(全套)(可編輯?。?/a>
- 物業(yè)與商戶裝修協(xié)議書
- 2025年信用報(bào)告征信報(bào)告詳版?zhèn)€人版模板樣板(可編輯)
- 急診科心肌梗死搶救流程
- 小學(xué)三年級數(shù)學(xué)選擇題專項(xiàng)測試100題帶答案
- 2025年尿液分析儀行業(yè)分析報(bào)告及未來發(fā)展趨勢預(yù)測
評論
0/150
提交評論