bootstrap布局沒有效果專題及常見問題 - CSDN

2021-01-07 CSDN技術社區
Bootstrap 可視化布局--拖拽後彈窗進行編輯

最近後臺想一個需求,使用可視化布局-中文 | en中拖拽表格後,彈窗進行編輯,保存下載後在後臺生成pdf格式。
奈何各種問題不斷,使用 jquery-ui中的 draggable各種坑不斷,哎,一言難盡,最怕這種不是自己寫的,只能不斷踩坑,踩著踩著就好了

最終目的效果圖

原始效果是沒有之後的彈窗,需要點擊才會有

思路思路1: 將點擊的代碼直接放到 拖拽結束時使用即可思路2: 找到被拖拽的對象,對其進行修改即可思路3: 找到點擊彈窗的按鈕(需要對應到指定的對象)難點

如何找到指定的元素,每次拖拽添加都會克隆元素,若是通過元素查找便會是一個數組,很多個,這個完全不現實,因而考慮給每一個添加指定的標識。
若是考慮找到被克隆對象,目前我嘗試多種方式,直接是找不到,一臉懵逼我,我也很無奈,直接兩者間沒有聯繫,嘗試過event來找,依舊沒有任何效果

代碼看問題

html

<div>表格</div> <div> <table contenteditable="true"> <thead> <tr> <th>編號</th> <th>產品</th> <th>交付時間</th> <th>狀態</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>TB - Monthly</td> <td>01/04/2012</td> <td>Default</td> </tr> <tr> <td>1</td> <td>TB - Monthly</td> <td>01/04/2012</td> <td>Approved</td> </tr> <tr> <td>2</td> <td>TB - Monthly</td> <td>02/04/2012</td> <td>Declined</td> </tr> <tr> <td>3</td> <td>TB - Monthly</td> <td>03/04/2012</td> <td>Pending</td> </tr> <tr> <td>4</td> <td>TB - Monthly</td> <td>04/04/2012</td> <td>Call in to confirm</td> </tr> </tbody> </table> </div></div>

js

// 拖拽的代碼$(".sidebar-nav .box").draggable({ connectToSortable: ".column", helper: "clone", handle: ".drag", start: function(e,t) { if (!startdrag) stopsave++; startdrag = 1; }, drag: function(e, t) { t.helper.width(400) }, stop: function(e) { handleJsIds(e); if(stopsave>0) stopsave--; startdrag = 0; }});

效果圖

各種思路嘗試的結果,就不一一列舉了,都是淚使用 jquery-ui的draggable的各類屬性,始終無效果,modal:ture無法彈窗,結合dialog卻無法找到指定被修改對象最終癥結所在,便是如何找到你剛拖拽的對象身上,這樣一切都好解決開啟找到指定拖拽的對象之旅

思路是有,一直不知道如何有效實現,當看到此處代碼時,一切就豁然開朗

// 此處是在拖拽 stop時被調用的function handleJsIds(e) { handleModalIds(); handleAccordionIds(); handleCarouselIds(); handleTabsIds(); handleDialog()}// 這裡看到給每個添加屬性,就知道還是要走這條路了function handleCarouselIds() { var e = $(".demo #myCarousel"); var t = randomNumber(); var n = "carousel-" + t; e.attr("id", n); e.find(".carousel-indicators li").each(function(e, t) { $(t).attr("data-target", "#" + n) }); e.find(".left").attr("href", "#" + n); e.find(".right").attr("href", "#" + n)}

開始時,一直都在找彈出按鈕,因為點擊,會出現修改的modal層

重新定義一個函數hangleDialog

// 用來觸發彈窗function handleDialog(params) { // 找到所有的按鈕 var e = $('body.edit .demo [data-target=#editorModal]') const n = randomNumber() e.each(function(i, t) { // 判斷是否添加了flag屬性 if (!$(t).attr('flag')) { $(t).attr('flag', n) // 觸發按鈕彈窗 $(t).trigger('click') } })}

總結

目前而言,這個是改動最小的,基本沒有對原始碼進行修改,只是單純添加一段而已,個人十分喜歡,其他方式改動幅度過大,效果既沒出來,還不敢保證是否會影響其他效果

補充

相關焦點

  • bootstrap 用什麼布局專題及常見問題 - CSDN
    bootstrap學習之布局(柵格布局)今天自己在網上學習了BOOTSTRAP柵格系統,很有體會,希望將自己的學習心得寫寫下來供自己日後參考學習1.什麼是柵格布局?
  • bootstrap css精簡專題及常見問題 - CSDN
    bootstrap中文網:http://v3.bootcss.com/ bootstrap提供了三種類型的下載:   1、用於生產環境的bootstrap    編譯並壓縮後的CSS、JavaScript和字體文件。不包含文檔和源碼文件。
  • bootstrap 寬度 自適應布局專題及常見問題 - CSDN
    ,最常見的就是使用float來實現。float浮動布局的缺點是浮動後會造成文本環繞等效果,以及需要及時清除浮動。要實現自適應效果,.rightWrap寬度必須設置為100%。若不設置,float後的元素寬度將由內容撐開。同時再配合盒模型屬性的計算,設置計算後的負margin值,使兩列元素在同一行顯示。同時兩列之間的間距由.right的margin值確定。
  • bootstrap響應式布局
    什麼是響應式 Web 設計   響應式 Web 設計是一個讓用戶通過各種尺寸的設備瀏覽網站獲得良好的視覺效果的方法。例如,您先在計算機顯示器上瀏覽一個網站,然後在智慧型手機上瀏覽,智慧型手機的屏幕尺寸遠小於計算機顯示器,但是你卻沒有感覺到任何差別,兩者的用戶體驗幾乎一樣,這說明這個網站在響應式設計方面做得很好。   我們已經在我們的流動布局實例中應用了響應性能,並請您在不同的屏幕尺寸下進行瀏覽。您可以通過 Chrome 或 FireFox 的窗口大小調整的擴展來調整瀏覽器。。
  • class ios 布局專題及常見問題 - CSDN
    我們知道,一款iOS應用,其主要UI組件是由一個個相對獨立的可視單元構成,這些可視單元有的主要負責向用戶輸出有用的信息,有些則負責信息的輸入(交互),交互的過程中往往還伴隨有動畫的效果,已達到整個信息傳遞的連貫性以及用戶體驗的細膩感。
  • android grid布局專題及常見問題 - CSDN
    CSS Grid 布局是 CSS 中最強大的布局系統。與 flexbox 的一維布局系統不同,CSS Grid 布局是一個二維布局系統,也就意味著它可以同時處理列和行。,因為我們沒有定義我們希望的 grid(網格) 是怎樣的。
  • bootstrap容器container響應式布局,各種使用方法詳解
    container是bootstrap頂層布局容器,這是一個必須使用的標籤,在每一個頁面上都會用到,是實現響應式布局的核心組成部分,在bootstrap4.4和老舊版本上有著細微的差異,在4.4.1版本中進行了升級,使得container標籤更加靈活方便。
  • 網格布局專題及常見問題 - CSDN
    css 網格布局 網格布局 (Grid Layout)CSS Grid Layout, simply known as Grid, is a layout scheme that is the newest and the most powerful in CSS.
  • android布局詳解專題及常見問題 - CSDN
    Android 布局詳解1.重用布局當一個布局文件被多處使用時,最好<include>標籤來重用布局。-- 下面的沒有覆蓋任何屬性 --><include layout=」@layout/image_holder」 />注意:如果像覆蓋布局的尺寸,必須同時覆蓋android:layout_width和android:layout_height。不能只覆蓋其中一個屬性,否則對這兩個屬性值的覆蓋都無效。
  • jquery實現響應式布局專題及常見問題 - CSDN
    這意味著,無論用戶是在移動、平板還是桌面設備上瀏覽 Web 頁面,設計都將根據該設備的屏幕解析度顯示特定的布局,從而適當地響應設備。雖然 jQuery Mobile 框架提供了一種方法,可快速、輕鬆地創建移動版本的網站,但它目前沒有(而且很有可能永遠也不會)提供一種固有的方法來根據設備的屏幕解析度動態響應用戶的設備。
  • github覆蓋本地專題及常見問題 - CSDN
    在本地中打開終端(命令行):git branch -a # 查看我本地的fork項目Nopol的分支;發現沒有march2017git remote -v # 查看這個項目的遠程目錄;發現只有我的github fork項目地址,即 https://github.com/DehengYang/nopol.git ,但是沒有原項目的地址(https://github.com
  • java邊框布局專題及常見問題 - CSDN
    1:邊框布局管理器的使用1.1:設置邊框布局管理器 默認設置container.setLayout(new BorderLayout());1.2:設置邊框布局管理器的水平 垂直間距container.setLayout(new BorderLayout
  • flex布局 一行3個專題及常見問題 - CSDN
    2009年,W3C 提出了一種新的方案----Flex 布局,可以簡便、完整、響應式地實現各種頁面布局。目前,它已經得到了所有瀏覽器的支持,這意味著,現在就能很安全地使用這項功能。Flex 布局將成為未來布局的首選方案。本文介紹它的語法,下一篇文章給出常見布局的 Flex 寫法。
  • Bootstrap4.4.1網格實現響應式布局,只需要掌握這一點就行
    實現前端網頁實現響應式布局如果是自己寫代碼來實現真的挺困難的,但是使用bootstrap框架就非常容易了,即使不懂前端開發也可以很好地駕馭。當前最新版本是bootstrap4.4.1,和之前的老舊版本相比較在細節方面做了很多的優化和升級,其中網格系統是實現網頁響應式的核心組成部分。
  • 前端框架bootstrap4.4入門教程,使用方法實例響應式布局實戰
    bootstrap是我最喜歡的前端框架,沒有之一,當前的最新版本是bootstrap4.4.1,和之前的3.X版本相比較有較大的變化,不過都是屬於各種標籤的分離,方法還是一樣的,在網上各種教程雖多,但是對於入門還不是不夠,很多入門教程講得雲裡霧裡,看不懂到底在說些什麼。我覺得使用具體的實例來結合相關的標籤使用才能真正的加深理解。
  • android 復用 布局優化專題及常見問題 - CSDN
    在布局優化中,Androi的官方提到了這三種布局<include />、<merge />、<ViewStub />,並介紹了這三種布局各有的優勢,下面也是簡單說一下怎麼使用.
  • bootstrap css ztree專題及常見問題 - CSDN
  • Twitter BootStrap:前端框架利器
    Web前端開發者每天都與HTML、CSS、JavaScript打交道,然而不少人都是周而復始地寫模板、樣式和交互效果,並沒有想過如何將這些重複的工作整合在一起。Twitter推出的Bootstrap能夠幫助Web前端開發者擺脫這種重複勞動。
  • android 不同大小的屏幕專題及常見問題 - CSDN
    可以注意到,即使屏幕的大小改變,視圖之前的相對位置都沒有改變。使用Size限定符雖然使用以上幾種方式可以解決屏幕適配性的問題,但是那些通過伸縮控制項來適應各種不同屏幕大小的布局,未必就是提供了最好的用戶體驗。
  • android通過代碼實現的多布局專題及常見問題 - CSDN
    Seekbar常規使用方式通過xml布局方式實現,但是由於我們的是sdk,不能有xml布局,所以SeekBar使用純代碼實現。但是這樣就遇到了很多問題。 首先是SeekBar設置setProgressDrawable問題。