国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

JS組件BootstrapTable表格多行拖拽效果實現代碼_javascript技巧

來源:懂視網 責編:小采 時間:2020-11-27 21:46:57
文檔

JS組件BootstrapTable表格多行拖拽效果實現代碼_javascript技巧

JS組件BootstrapTable表格多行拖拽效果實現代碼_javascript技巧:前言:前天剛寫了篇JS組件Bootstrap Table表格行拖拽效果,今天接到新的需要,需要在之前表格行拖拽的基礎上能夠同時拖拽選中的多行。用了半天時間研究了下,效果是出來了,但是感覺不盡如人意。先把它分享出來,以后想到更好的辦法再優化吧。 一、效果展示
推薦度:
導讀JS組件BootstrapTable表格多行拖拽效果實現代碼_javascript技巧:前言:前天剛寫了篇JS組件Bootstrap Table表格行拖拽效果,今天接到新的需要,需要在之前表格行拖拽的基礎上能夠同時拖拽選中的多行。用了半天時間研究了下,效果是出來了,但是感覺不盡如人意。先把它分享出來,以后想到更好的辦法再優化吧。 一、效果展示
前言:前天剛寫了篇JS組件Bootstrap Table表格行拖拽效果,今天接到新的需要,需要在之前表格行拖拽的基礎上能夠同時拖拽選中的多行。用了半天時間研究了下,效果是出來了,但是感覺不盡如人意。先把它分享出來,以后想到更好的辦法再優化吧。

一、效果展示

1、拖動前

2、拖動中

3、拖動后

4、撤銷回到拖動前狀態

二、需求分析
通過上篇我們知道,如果要實現拖拽,必須要有一個可以拖拽的標簽,或者叫容器,比如上篇里面的tr就是一個拖拽的容器,那么如果要實現選擇行的拖拽,那么博主的第一反應是將選中的行放到一個容器里面,比如放到一個div中,然后注冊這個div的可拖拽,可是實際情況是,tr是在table里面的標簽,如果將tr用div包起來,勢必將table里面的樣式打亂,這個界面就真的是亂掉了。很顯然,這條路走不通。然后通過谷歌瀏覽器審核元素知道,用Bootstrap table生成的表格tr的父級元素實際上是tbody,于是在想是否可以注冊tbody的拖拽,實踐證明,此法可行。于是就此開干。

三、代碼示例
cshtm的代碼就不再重復,和上篇相同。我們重點來看看js代碼。

還是重點看看部分代碼

1、注冊左邊可拖拽


這里代碼很簡單,主要做了兩件事:

(1)注冊tbody的可拖拽,同樣適用的JQuery UI的draggable事件。

(2)在開始拖拽前,保存兩邊表格的數據,用于還原的操作。

2、注冊右邊drop


這里代碼和之前有點變化

(1)注冊#div_tableright div[class=fixed-table-container]標簽的droppable,這個標簽是Bootstrap Table表格初始化后自動生成的,為什么不直接注冊表格#tb_order_right的droppable,是因為這個標簽作用域太小,會導致拖過來的tbody捕捉不到drop事件。而注冊表格外部的#div_tableright div[class=fixed-table-container]這個div標簽可以解決問題。

(2)通過var arrtr = $(ui.helper[0]).find("tr[class=selected]");找到拖過來tbody里面選中的行,然后將數據取出依次插入右邊表格,左邊表格則依次刪除行數據。

(3)這里有點麻煩的是找drop的位置,我們知道,要想將左邊選中的行放到右邊指定的位置,那么就得得到當前鼠標drop的位置,這里通過ui.helper[0].offsetTop屬性來獲得鼠標的Y軸位置,通過計算得到要插入的位置。

3、撤銷操作  

撤銷操作和之前也基本相同。

四、總結
效果是完成了,美中不足的是每次拖過去的都是整個tbody,而不是選中的行,奈何多個選中的行無法用某一個容器包起來。暫時沒找到合適的解決方案。先這樣吧,等以后想到好的方案了再優化吧。

五、優化方案

1、注冊drap的方法

增加了這一句$(ui.helper[0]).find("tr[class!=selected]").remove();這樣在拖動的時候就看不到未選中的行了。
2、精準定位到右邊表格指定位置:


因為每一行的行高不確定,是由行里面的數據動態撐出來的,所以這里也動態計算drop的位置。

至此,這個小的功能基本告一段落,基本的效果和待優化點也完成了。

源碼下載:Bootstrap Table表格多行拖拽效果

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JS組件BootstrapTable表格多行拖拽效果實現代碼_javascript技巧

JS組件BootstrapTable表格多行拖拽效果實現代碼_javascript技巧:前言:前天剛寫了篇JS組件Bootstrap Table表格行拖拽效果,今天接到新的需要,需要在之前表格行拖拽的基礎上能夠同時拖拽選中的多行。用了半天時間研究了下,效果是出來了,但是感覺不盡如人意。先把它分享出來,以后想到更好的辦法再優化吧。 一、效果展示
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲黄色一区 | 国产成人一区二区 | 国产精品ⅴ视频免费观看 | 久久精品123| 成人国产精品一区二区网站 | 亚洲视频在线观看 | 手机看日韩 | 精品一区二区三区亚洲 | a一级毛片| 最新亚洲 | 亚州一区二区 | 一区二区成人国产精品 | 91精品欧美 | 欧美精品一区二区三区在线播放 | 7777精品伊人久久久大香线蕉 | 国产精品网址 | 久久麻豆精品 | 国产在线观看精品 | 亚洲欧美日韩综合网导航 | 欧美日韩国产综合在线 | 欧美激情一区二区 | 日韩小视频在线 | 久久精品123 | 欧美高清第一页 | 欧美精品久久久久久久久大尺度 | 国产成人精品一区二区视频 | 欧美 国产 日韩 第一页 | 九九精品成人免费国产片 | 国内视频一区二区三区 | 国产视频高清在线观看 | 99精品高清视频一区二区 | 日本人乱人乱亲乱色视频观看 | 精品久久久久久久中文字幕 | 亚洲精彩视频在线观看 | 国产成人精品一区二三区在线观看 | 国内精品伊人久久久久 | 日韩欧美一区二区三区免费看 | 午夜视频免费观看 | 国内精品久久久久 | 免费国产线观看免费观看 | 亚欧免费视频一区二区三区 |