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

您的位置:首頁技術文章
文章詳情頁

jQuery 實現DOM元素拖拽交換位置的實例代碼

瀏覽:294日期:2024-07-12 11:45:55

實現步驟

1.html + bootstrap 布局畫3個面板。

注:面板樣式 position 屬性必須是絕對位置或者相對位置。

2.監聽面板的的 mousedown事件。

記錄當前對應面板的位置target_index,設置面板透明拖動。

3.監聽當前被拖動的面板的mousemove事件。

根據鼠標移動的位置和面板的相對位置計算出面板應該出現的新位置,就將面板位置設置為新位置。

4.監聽當前被拖動的面板的mouseup事件。

當松開鼠標時,查看當前鼠標所在位置對應的面板的位置exchange_index。對比兩個位置,若不一樣,說明需要交換這兩個位置對應的面板內容,否則直接使被拖動面板回原位即可。

源碼

html 代碼:

<!DOCTYPE html><html><head><meta charset='utf-8'><title>jQuery 拖拽交換元素的位置</title><meta name='viewport' content='width=device-width, initial-scale=1.0'><!-- 引入 Bootstrap --><!-- 新 Bootstrap 核心 CSS 文件 --><link rel='external nofollow' rel='stylesheet'><link rel='stylesheet' type='text/css' href='http://www.b3g6.com/css/exchange-position.css' rel='external nofollow' /><!-- Jquery 3.5 --><script src='https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js' integrity='sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=' crossorigin='anonymous'></script><script src='http://www.b3g6.com/js/exchange-position.js' type='text/javascript' charset='utf-8'></script><!-- HTML5 Shiv 和 Respond.js 用于讓 IE8 支持 HTML5元素和媒體查詢 --><!-- 注意: 如果通過 file:// 引入 Respond.js 文件,則該文件無法起效果 --><!--[if lt IE 9]><script src='https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js'></script><script src='https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js'></script><![endif]--></head><body><div style='padding-top: 20px;'><div id='panelsBox'><div data-index='1'><div class='panel panel-success'><div class='panel-heading'><h3 class='panel-title'>Panel title</h3></div><div class='panel-body'>Panel content</div><div class='panel-footer'>Panel footer</div></div></div><div data-index='2'><div class='panel panel-info'><div class='panel-heading'><h3 class='panel-title'>Panel title</h3></div><div class='panel-body'>Panel content</div><div class='panel-footer'>Panel footer</div></div></div><div data-index='3'><div class='panel panel-danger'><div class='panel-heading'><h3 class='panel-title'>Panel title</h3></div><div class='panel-body'>Panel content</div><div class='panel-footer'>Panel footer</div></div></div></div></div></body></html>

css 代碼:

#panelsBox>div>.panel{position: relative;}

js 代碼:

/** * 拖拽面板 到某個面板的位置,交換兩個面板位置 * 若沒有到任意一個面板位置,則被拖拽面板回原位置 */$(function(){//1.監聽 mousedown 事件$('#panelsBox').on(’mousedown’,’.panel’,function(e){var target_index = $(this).parent().attr('data-index');//被拖動面板元素位置var targetX = e.pageX - parseInt($(this).css('left'));var targetY = e.pageY - parseInt($(this).css('top'));$(this).fadeTo(20, 0.5);//點擊后開始拖動并透明$(this).css('z-index',100);//設置優先展示//2.監聽當前被拖拽的面板的移動事件:鼠標移動到何處,相應面板的css控制顯示到何處$(this).mousemove(function(e){var x = e.pageX - targetX;//移動時根據鼠標位置計算面板元素左上角的相對位置var y = e.pageY - targetY;$(this).css({top:y,left:x});//設置面板元素新位置}).mouseup(function(e){//3.監聽鼠標松開事件:交換面板元素,并將父級data-index換為原來的值$(this).fadeTo('fast', 1);//停止移動并恢復成不透明$(this).css('z-index',0);//展示優先級降低//鼠標松開對應的面板元素的父div對應data-indexvar exchangeElem = $(document.elementFromPoint(e.pageX,e.pageY)).parents('.panel');if(exchangeElem.length > 0){var exchange_index = $(exchangeElem[0]).parent('div').attr('data-index');var device_id_target = $(exchangeElem[0]).parent('div').attr('data-device-id');device_id_target = device_id_target == undefined?'':device_id_target;if(target_index != exchange_index){//交換面板元素$('#panelsBox').children('div[data-index=' + target_index + ']').empty().append(exchangeElem[0]);$('#panelsBox').children('div[data-index=' + exchange_index + ']').empty().append(this);$('#panelsBox').children('div[data-index=' + exchange_index + ']').children('.panel').css({’top’:'0px',’left’:'0px',’z-index’:0});//交換data-index$('#deviceList').children('div[data-index=' + target_index + ']')attr('data-index',exchange_index);$(document.elementFromPoint(e.pageX,e.pageY)).parents('.panel').parent().attr('data-index',target_index);}else{//返回原位置$(this).css({’top’:'0px',’left’:'0px',’z-index’:0});}}else{//返回原位置$(this).css({’top’:'0px',’left’:'0px',’z-index’:0});}});});});

總結

到此這篇關于jQuery 實現DOM元素拖拽交換位置的文章就介紹到這了,更多相關jquery 拖拽交換位置內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: jQuery
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲网址在线观看| 亚洲综合福利| 中文视频一区| 99免费精品| 国产一区二区三区久久久久久久久| 首页国产欧美久久| 激情欧美日韩一区| 亚洲天堂资源| 新版的欧美在线视频| 国产精品国产一区| 亚洲综合小说| 99亚洲视频| 伊人久久大香线蕉av超碰演员| 久久国产影院| 成人羞羞在线观看网站| 国产精品精品| 久久免费大视频| 精品在线播放| 亚洲香蕉久久| 亚洲精品免费观看| 午夜亚洲福利| 国产精品久久久久久久久久齐齐 | 成人啊v在线| 日本国产精品| 伊人久久成人| 久久精品99国产精品| 麻豆国产精品一区二区三区| 国产一区二区亚洲| 亚洲福利久久| 日本久久二区| 国产伦久视频在线观看| 影音先锋国产精品| 欧美影院视频| 亚洲韩日在线| 亚洲精品在线a| 视频在线不卡免费观看| 视频在线观看一区| 欧美激情 亚洲a∨综合| 亚洲国产专区校园欧美| 日韩成人午夜精品| 99久久夜色精品国产亚洲狼| 日韩国产精品久久久| 久久天堂av| 91嫩草精品| 亚洲精品一区二区妖精| 国产精品亚洲片在线播放| 九九精品调教| 欧美精品中文| 国产一区二区精品| 免费在线小视频| 石原莉奈一区二区三区在线观看| 精品国产中文字幕第一页| 欧美资源在线| 伊人久久亚洲热| 99久久精品国产亚洲精品| 精品欠久久久中文字幕加勒比| 日本一区二区三区视频在线看| 夜夜嗨一区二区| 久久精品免视看国产成人| 日韩午夜视频在线| 亚洲另类视频| 免费欧美在线视频| 日韩精品欧美| 日韩欧美字幕| 老鸭窝毛片一区二区三区| 美女精品视频在线| 亚洲制服一区| 99久久婷婷| 色偷偷色偷偷色偷偷在线视频| 日本国产欧美| 激情综合亚洲| 久久青草久久| 日韩电影在线视频| 久久成人福利| 亚洲精品福利| 蜜乳av另类精品一区二区| 成人啊v在线| 色偷偷色偷偷色偷偷在线视频| 国产精品白浆| 欧美黄色一区二区| 日韩精品中文字幕一区二区| 91久久亚洲| 欧美在线资源| 午夜一级在线看亚洲| 欧美日韩国产高清| 图片区亚洲欧美小说区| 日韩国产一区二区三区| 欧美www视频在线观看| 国产专区精品| 国产精品www.| 久久久久国产| 男女精品网站| 四虎成人精品一区二区免费网站| 一区二区国产在线观看| 亚洲欧洲专区| 美女精品网站| 青草国产精品| 精品视频在线观看网站| 精品久久精品| 国产精品7m凸凹视频分类| 久久国产精品久久久久久电车 | 国产videos久久| 都市激情国产精品| 久久人人97超碰国产公开结果| 美女精品在线| 精品一区二区三区免费看| 日韩精品永久网址| 一区二区视频欧美| 欧美va亚洲va日韩∨a综合色| 蜜臀精品一区二区三区在线观看 | 亚洲精品进入| 98精品久久久久久久| 极品日韩av| 国产精品chinese| 99国产精品免费视频观看| 亚洲综合中文| 日韩.com| 日韩**一区毛片| 日韩久久电影| 日本免费新一区视频| 久久精品一区二区不卡| 免费成人在线视频观看| 精品在线网站观看| 蜜臀久久久99精品久久久久久| 精品久久久网| 欧美日韩国产一区精品一区| 四季av一区二区凹凸精品| 亚洲欧美久久久| 国际精品欧美精品| 日韩欧美激情电影| 99久久久久| 国产一区二区三区成人欧美日韩在线观看| 国产精品日韩久久久| 中文在线а√在线8| 欧美永久精品| 国产亚洲观看| 国产亚洲精品自拍| 午夜精品久久久久久久久久蜜桃| 青青伊人久久| 免费成人av在线播放| 久久精品播放| 中文在线免费视频| 中文字幕在线视频网站| 国产欧美日韩精品一区二区免费| 日韩一区免费| 日韩av三区| 欧美亚洲人成在线| 日韩午夜视频在线| 人人香蕉久久| 亚洲成人精品| 99久久婷婷| 日本一区二区高清不卡| 国产精品一区二区三区www | 99亚洲视频| 蜜臀av一区二区三区| 91精品电影| 亚洲一区欧美二区| 国产精品亚洲二区| 三级欧美韩日大片在线看| 久久福利精品| 亚洲精品美女| 国产精品99久久免费| 999久久久亚洲| 在线视频精品| 日韩高清在线不卡| 日本vs亚洲vs韩国一区三区二区| 久久香蕉精品| 日韩在线成人| 日韩av成人高清| 国产精品一区二区av日韩在线| 高清不卡一区| 野花国产精品入口| 日韩av在线播放中文字幕| 免费视频一区二区三区在线观看| 久久不卡国产精品一区二区| 精品三级国产| 麻豆精品蜜桃| 久久xxxx| 国产精品免费99久久久| 粉嫩av一区二区三区四区五区 | 国产成人精选| 尹人成人综合网| 国产精品巨作av| 999国产精品999久久久久久| 中文视频一区| 日本午夜大片a在线观看| 香蕉国产精品| 精品欧美视频| 国产模特精品视频久久久久| 国产欧美二区| 欧美 日韩 国产精品免费观看| 亚洲精品观看| 91日韩在线| 亚洲最新av| 免费成人性网站| 欧美~级网站不卡| av资源新版天堂在线| 国产亚洲电影| 日韩在线a电影| 久久男人av资源站|