日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

如何實現(xiàn)js拖拽效果及原理解析

瀏覽:275日期:2024-05-09 14:04:10

元素拖拽分成3個步驟:按下鼠標(biāo),移動鼠標(biāo),松開鼠標(biāo)。

拖拽原理:按下拖拽元素后開始監(jiān)聽文檔中鼠標(biāo)移動事件,然后再監(jiān)聽鼠標(biāo)松開事件;鼠標(biāo)移動時,元素div要隨著鼠標(biāo)一起移動,需要計算元素div位移的距離(移動的距離=鼠標(biāo)離可視窗口的位置 ? 鼠標(biāo)在div中相對于左上角的位置)。然后松開鼠標(biāo)時,刪除移動事件和松開事件,元素完成拖拽。

一開始先監(jiān)聽鼠標(biāo)按下事件mousedown,事件觸發(fā)執(zhí)行mouseHandler函數(shù);

div.addEventListener('mousedown',mouseHandler);

進(jìn)入mouseHandler函數(shù)后,進(jìn)行if else if 的判斷,如果是按下事件,就監(jiān)聽鼠標(biāo)移動和松開事件,這里要用document文檔來作為監(jiān)聽對象,如果使用元素div監(jiān)聽時,如果鼠標(biāo)在移動過程超出了div元素,就無法拖拽元素;

進(jìn)入移動事件,就把鼠標(biāo)移動的距離(鼠標(biāo)離可視窗口的位置 ? 鼠標(biāo)在div中相對于左上角的位置)賦值給元素的left和top,元素就可以隨著鼠標(biāo)移動;

最后進(jìn)入松開鼠標(biāo)事件,刪除了移動和送開鼠標(biāo)事件,元素就會停在鼠標(biāo)松開的位置

關(guān)鍵:元素顯示位置=鼠標(biāo)離可視窗口的位置 ? 鼠標(biāo)相對于在div元素左上角的位置

js代碼帶注釋

var div=document.querySelector('div'); var offsetX,offsetY;//定義全局變量用于接收鼠標(biāo)坐標(biāo)的變量 div.addEventListener('mousedown',mouseHandler); function mouseHandler(e){ //事件的執(zhí)行函數(shù)自帶參數(shù)e if(e.type==='mousedown'){ //e.type是執(zhí)行事件的類型offsetX=e.offsetX; offsetY=e.offsetY; document.addEventListener('mousemove',mouseHandler) document.addEventListener('mouseup',mouseHandler) //如果有鼠標(biāo)移動或松開事件的發(fā)生再次執(zhí)行mouseHandler函數(shù) }else if(e.type==='mousemove'){ div.style.left=e.clientX-offsetX+'px'; //鼠標(biāo)相對當(dāng)前可視窗口的坐標(biāo) - 相對元素左上角的坐標(biāo) div.style.top=e.clientY-offsetY+'px'; }else if(e.type==='mouseup'){ document.removeEventListener('mousemove',mouseHandler);document.removeEventListener('mouseup',mouseHandler); //刪除鼠標(biāo)移動和鼠標(biāo)松開事件 } }

效果如圖:

如何實現(xiàn)js拖拽效果及原理解析

注意:div元素要設(shè)置定位才可以進(jìn)行移動。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
激情五月综合网| 另类中文字幕国产精品| 999久久久国产精品| 日本欧美国产| 日韩国产一区二区三区| 国际精品欧美精品| 五月激情久久| 激情欧美国产欧美| 国产毛片久久| 日韩国产91| 久久99青青| 免费在线小视频| 不卡一区2区| 中文字幕日韩亚洲| 国产探花一区| 成人国产精品一区二区免费麻豆| 91亚洲国产成人久久精品| 日韩精品看片| 亚洲视频播放| 欧美自拍一区| 久久中文字幕一区二区| 日韩一区二区在线免费| 蜜臀av免费一区二区三区| 免费看日韩精品| 国产日本久久| 在线亚洲人成| 欧美一区=区| 麻豆国产一区| 欧美特黄视频| 国产精品一区二区三区av| 超级白嫩亚洲国产第一| 国产精品日本| 精品久久美女| 久久香蕉精品| 日韩av免费大片| 日韩一级不卡| 精品久久免费| 中文字幕日韩亚洲| 精品久久97| 丝袜诱惑制服诱惑色一区在线观看 | 日韩欧美视频专区| 久久精品国内一区二区三区水蜜桃| 亚洲黄色在线| 亚洲电影在线一区二区三区| 精品美女视频 | 99精品99| 日本一区二区三区视频在线看 | 色综合视频一区二区三区日韩| 日韩三级视频| 国精品产品一区| 久久视频精品| 一区二区国产在线| 久久天堂影院| 亚洲欧洲日本mm| 亚洲一区二区三区久久久| 国产探花一区| 亚洲午夜精品久久久久久app| 日韩一区欧美二区| 久久香蕉精品香蕉| 久久麻豆精品| 成人午夜亚洲| 免费人成精品欧美精品| 精品一区二区男人吃奶| 五月婷婷亚洲| 国产日韩欧美一区二区三区| 成人精品亚洲| 日本成人在线网站| 在线一区av| 日韩精品中文字幕吗一区二区| 欧美1区二区| 国产美女一区| 国产一区2区| 亚洲视频二区| 麻豆网站免费在线观看| 亚洲美女91| 欧美13videosex性极品| 三级久久三级久久久| 欧美精品日日操| 国产欧美69| 午夜av成人| 久久国产福利| 久久91导航| 久久精品伊人| 午夜天堂精品久久久久| 九九色在线视频| 欧美一级二级三级视频| 欧美日韩国产综合网| 国产一区二区三区四区五区传媒| 蜜臀av在线播放一区二区三区| 亚洲国产福利| 国产精品一区毛片| 亚洲精品一级| 性色一区二区| 蜜臀久久99精品久久一区二区| 麻豆91小视频| 91精品一区| 亚州av日韩av| 香蕉久久久久久久av网站| 精品一区二区三区中文字幕在线| 久久国产小视频| 7777精品| 美日韩精品视频| 国产高清一区二区| 亚洲精品在线影院| 动漫av一区| 国内精品亚洲| 麻豆一区二区三区| 国产精品a久久久久| 亚洲精品少妇| 蜜桃久久av一区| 蜜臀国产一区二区三区在线播放| 欧美日韩精品在线一区| 久久久久久网| 精品久久美女| 国产精久久久| 97成人在线| 日韩国产欧美在线播放| 水野朝阳av一区二区三区| 在线亚洲欧美| 香蕉精品999视频一区二区| 日韩视频免费| 一区免费视频| 欧美专区18| 中文字幕日韩亚洲| 日韩有吗在线观看| 日韩1区2区3区| 青青草91久久久久久久久| 日本免费新一区视频| 国产日韩亚洲| 国产一区二区三区黄网站| 国产精品蜜月aⅴ在线| 国产乱码精品一区二区三区四区| 国产亚洲精品美女久久| 麻豆精品av| 高清日韩欧美| 91tv亚洲精品香蕉国产一区| 欧美日韩精品一区二区视频| 在线视频观看日韩| 妖精视频成人观看www| 婷婷成人基地| 日韩午夜高潮| 国产精品永久| 国产v日韩v欧美v| 蜜桃tv一区二区三区| 日韩视频精品在线观看| 亚洲免费黄色| 日韩成人精品一区二区三区| 国产精品magnet| 天堂中文av在线资源库| 亚洲精品a级片| 日韩国产一二三区| 精品久久97| 91精品xxx在线观看| 色8久久久久| 精品久久精品| 伊人成人网在线看| 日本成人在线一区| 麻豆精品久久| 99久久精品费精品国产| 午夜在线一区| 日韩 欧美一区二区三区| 国模大尺度视频一区二区| 日韩在线观看不卡| 欧美日韩中出| 久久天堂精品| 日韩精品91亚洲二区在线观看| 精品视频免费| 亚洲一区国产| 麻豆久久一区| 一本色道精品久久一区二区三区| 日韩精品五月天| 中文字幕一区久| 亚洲精品日韩久久| 久久久久久自在自线| 免费看黄色91| 国产探花一区二区| 亚洲最新av| 国产网站在线| 日本成人精品| 激情久久久久久久| 你懂的国产精品永久在线| 欧美日韩国产高清| 麻豆国产欧美一区二区三区| 99视频+国产日韩欧美| 久久只有精品| 久久亚洲精品伦理| 高清不卡亚洲| 日韩国产91| 国产亚洲在线观看| 久久精品色播| 久久亚洲图片| 日本精品不卡| 麻豆一区二区三区| 亚洲人www| 欧美色图国产精品| 美女久久久久久| 蜜桃视频第一区免费观看| 亚洲涩涩在线| 国产精品3区| 亚洲色图网站|