很多時(shí)候我們做網(wǎng)站都會(huì)遇到 JS拖拽的需求,今天就按照一個(gè)彈出框拖拽作為一個(gè)小案例寫(xiě)個(gè)JS原生的代碼。
察隅ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!按照上面的需求咱們開(kāi)始制作一個(gè)拖拽效果吧。
第一步、咱們得寫(xiě)一個(gè)布局和響應(yīng)的css
標(biāo)題青格勒前端博客!
www.cenggel.com
這里的話咱們id=btn的為拖拽的區(qū)域。
二、邏輯講述
整個(gè)JS代碼不是很多,當(dāng)鼠標(biāo)按下的時(shí)候獲取鼠標(biāo)的位置和id=box的上距和左邊距,然后計(jì)算目前的位置。
然后這時(shí)候鼠標(biāo)移動(dòng)的時(shí)候再次計(jì)算鼠標(biāo)的位置,然后給id=box位置
當(dāng)鼠標(biāo)按鈕松開(kāi)的時(shí)候把onmousemove和onmouseup清除掉
三、JS代碼部分
www.gendan5.com
最后咱們的效果如下
做到這里其實(shí)咱們的效果并不完美,應(yīng)為當(dāng)我們拖拽的時(shí)候發(fā)現(xiàn),他能直接被拖到瀏覽器的外面去了,所以咱們?cè)俳o他加點(diǎn)限制。
最終JS代碼如下: