JS實現(xiàn)簡單拖動模態(tài)框案例_第1頁
JS實現(xiàn)簡單拖動模態(tài)框案例_第2頁
JS實現(xiàn)簡單拖動模態(tài)框案例_第3頁
JS實現(xiàn)簡單拖動模態(tài)框案例_第4頁
JS實現(xiàn)簡單拖動模態(tài)框案例_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第JS實現(xiàn)簡單拖動模態(tài)框案例本文實例為大家分享了JS實現(xiàn)簡單拖動模態(tài)框的具體代碼,供大家參考,具體內(nèi)容如下

需要實現(xiàn)的效果:

①點擊點擊,彈出登錄框后模態(tài)框和遮擋層就會顯示出來

②點擊關(guān)閉按鈕,模態(tài)框和遮蓋層就會隱藏起來

③頁面拖拽

功能分析:

首先給上面的點擊,彈出登錄框設(shè)置點擊事件,點擊之后就顯示遮罩層和模態(tài)框,然后給模態(tài)框上面的關(guān)閉按鈕設(shè)置點擊事件,點擊之后就隱藏遮罩層和模態(tài)框。然后是拖拽過程,這個過程的實現(xiàn)較為復(fù)雜,主要分為下面幾步:

1.明確模態(tài)框的真正位置是鼠標(biāo)的坐標(biāo)減去鼠標(biāo)在模態(tài)框內(nèi)的坐標(biāo)。

2.鼠標(biāo)的坐標(biāo)通過鼠標(biāo)按下事件獲取,通過e.pageY和e.pageX來獲取。

3.按下之后想要獲得鼠標(biāo)在模態(tài)框中的坐標(biāo)(一直都不會變),需要獲得盒子的坐標(biāo),盒子坐標(biāo)通過element.offsetTop和element.offsetLeft來獲取,通過鼠標(biāo)的坐標(biāo)減去模態(tài)框的坐標(biāo)獲得鼠標(biāo)在模態(tài)框中的坐標(biāo)。

4.按下之后鼠標(biāo)移動,就讓模態(tài)框的坐標(biāo)設(shè)置稱為鼠標(biāo)的坐標(biāo)減去鼠標(biāo)在模態(tài)框中的坐標(biāo)。

5.鼠標(biāo)松開之后需要停止拖拽,就是移除鼠標(biāo)移動事件。

完整代碼:

!DOCTYPEhtml

htmllang="en"

head

metacharset="UTF-8"

metahttp-equiv="X-UA-Compatible"content="IE=edge"

metaname="viewport"content="width=device-width,initial-scale=1.0"

title拖動模態(tài)框/title

script

window.onload=function(){

varloginbox=document.querySelector('.loginbox');

vargray=document.querySelector('.gray');

varloginheader=document.querySelector('.login-header');

varclose=document.querySelector('.close');

varmove=document.querySelector('.move');

loginheader.addEventListener('click',function(){

loginbox.style.display='block';

gray.style.display='block';

});

close.addEventListener('click',function(){

loginbox.style.display='none';

gray.style.display='none';

});

move.addEventListener('mousedown',function(e){

//鼠標(biāo)在盒子內(nèi)得距離

varx=e.pageX-loginbox.offsetLeft;

vary=e.pageY-loginbox.offsetTop;

//alert('hahah')

document.addEventListener('mousemove',move)

functionmove(e){

loginbox.style.left=e.pageX-x+'px';

loginbox.style.top=e.pageY-y+'px';

}

//鼠標(biāo)談起就移除鼠標(biāo)移動事件

document.addEventListener('mouseup',function(){

document.removeEventListener('mousemove',move)

})

})

}

/script

style

.login-header{

width:100%;

text-align:center;

height:30px;

font-size:24px;

line-height:30px;

}

.move{

cursor:move;

}

ul,

li,

ol,

dl,

dt,

dd,

div,

p,

span,

h1,

h2,

h3,

h4,

h5,

h6,

a{

padding:0px;

margin:0px;

}

a{

text-decoration:none;

color:#000000;

}

.loginbox{

display:none;

position:absolute;

top:200px;

left:50%;

transform:translateX(-50%);

z-index:2;

width:520px;

height:300px;

background-color:#fff;

}

.loginbox.close{

cursor:pointer;

}

.loginboxp{

float:left;

font-size:22px;

text-align:center;

margin-top:30px;

margin-left:240px;

}

.loginbox.content{

float:right;

margin-top:30px;

margin-right:70px;

}

.loginbox.contentinput{

width:300px;

height:25px;

outline:none;

border:1pxsolid#ccc;

}

.loginbox.btn{

background-color:#fff;

width:180px;

height:30px;

border:1pxsolid#ccc;

margin-top:40px;

margin-left:170px;

}

.loginboxspan{

position:absolute;

font-size:12px;

text-align:center;

line-height:50px;

z-index:9999;

top:-25px;

right:-25px;

width:50px;

height:50px;

background-color:#fff;

color:#000000;

border-radius:50%;

box-shadow:1px1px5pxrgba(0,0,0,.3);

}

.gray{

display:none;

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background-color:rgba(0,0,0,.3);

}

/style

/head

body

divaid="link"href="javascript:;"點擊,彈出登錄框/a/div

div

p登錄會員/p

div

labelfor=""用戶名:/label

inputtype="text"placeholder="請輸入用戶名"

/div

div

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論