<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題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關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        JS組件BootstrapTable表格多行拖拽效果實(shí)現(xiàn)代碼_javascript技巧

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 21:46:57
        文檔

        JS組件BootstrapTable表格多行拖拽效果實(shí)現(xiàn)代碼_javascript技巧

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

        一、效果展示

        1、拖動(dòng)前

        2、拖動(dòng)中

        3、拖動(dòng)后

        4、撤銷(xiāo)回到拖動(dòng)前狀態(tài)

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

        三、代碼示例
        cshtm的代碼就不再重復(fù),和上篇相同。我們重點(diǎn)來(lái)看看js代碼。

        還是重點(diǎn)看看部分代碼

        1、注冊(cè)左邊可拖拽


        這里代碼很簡(jiǎn)單,主要做了兩件事:

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

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

        2、注冊(cè)右邊drop


        這里代碼和之前有點(diǎn)變化

        (1)注冊(cè)#div_tableright div[class=fixed-table-container]標(biāo)簽的droppable,這個(gè)標(biāo)簽是Bootstrap Table表格初始化后自動(dòng)生成的,為什么不直接注冊(cè)表格#tb_order_right的droppable,是因?yàn)檫@個(gè)標(biāo)簽作用域太小,會(huì)導(dǎo)致拖過(guò)來(lái)的tbody捕捉不到drop事件。而注冊(cè)表格外部的#div_tableright div[class=fixed-table-container]這個(gè)div標(biāo)簽可以解決問(wèn)題。

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

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

        3、撤銷(xiāo)操作  

        撤銷(xiāo)操作和之前也基本相同。

        四、總結(jié)
        效果是完成了,美中不足的是每次拖過(guò)去的都是整個(gè)tbody,而不是選中的行,奈何多個(gè)選中的行無(wú)法用某一個(gè)容器包起來(lái)。暫時(shí)沒(méi)找到合適的解決方案。先這樣吧,等以后想到好的方案了再優(yōu)化吧。

        五、優(yōu)化方案

        1、注冊(cè)drap的方法

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


        因?yàn)槊恳恍械男懈卟淮_定,是由行里面的數(shù)據(jù)動(dòng)態(tài)撐出來(lái)的,所以這里也動(dòng)態(tài)計(jì)算drop的位置。

        至此,這個(gè)小的功能基本告一段落,基本的效果和待優(yōu)化點(diǎn)也完成了。

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

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JS組件BootstrapTable表格多行拖拽效果實(shí)現(xiàn)代碼_javascript技巧

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

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 2015日韩永久免费视频播放| 免费精品一区二区三区第35 | 国产大片51精品免费观看| 亚洲一区二区三区在线观看蜜桃 | 亚洲欧洲日产国码无码久久99| 一本久久免费视频| 亚洲首页国产精品丝袜| 亚洲一级毛片免费在线观看| 亚洲国产成人久久77| 成人au免费视频影院| 亚洲国产成人AV网站| 999国内精品永久免费观看| 亚洲a级在线观看| 国产特级淫片免费看| 一级成人毛片免费观看| 久久亚洲国产精品| 国产福利视精品永久免费| 亚洲中文字幕无码中文字| 亚洲av高清在线观看一区二区 | 亚洲美女又黄又爽在线观看| 国产成人精品一区二区三区免费 | 久久精品国产亚洲AV未满十八| 四虎影视免费永久在线观看 | aa午夜免费剧场| 亚洲欧洲在线观看| 色播在线永久免费视频| 久久久精品视频免费观看| 亚洲一区中文字幕久久| 日本一道在线日本一道高清不卡免费| 免费VA在线观看无码| 亚洲人成影院在线| 免费观看大片毛片| 全免费a级毛片免费看| 亚洲欧美一区二区三区日产| 在线精品亚洲一区二区小说| 国产a视频精品免费观看| 日本一区二区三区免费高清在线| 精品亚洲国产成AV人片传媒| 四虎永久免费网站免费观看| 久久免费视频99| 免费人成大片在线观看播放电影|