91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

bootstrap拖拽組件的方法

發布時間:2020-08-24 11:22:11 來源:億速云 閱讀:190 作者:小新 欄目:web開發

這篇文章主要介紹了bootstrap拖拽組件的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

步驟(基于3.3.4或更高的3.x版本):

1.打開bootstrap.js源代碼找到modal組件代碼塊,在Modal.DEFAULTS代碼塊下加入拖拽代碼實現。

Modal.DEFAULTS = {
 backdrop: true,
 keyboard: true,
 show: true
}
//新加入的拖拽
Modal.prototype.draggable = function () {
 var $ele = this.$element;
 var mouseOffset;
 var $modalDialog = $ele.find(".modal-dialog");
 var dialogOffset;
 
 $ele.find(".modal-header").on('mousedown', function (event) {
 $(this).addClass({cursor: 'move'});
 $('body').addClass('select');
 dialogOffset = $modalDialog.offset();
 mouseOffset = {
  top: event.pageY - dialogOffset.top,
  left: event.pageX - dialogOffset.left
 };
 $('body').on("mousemove", function (event) {
  var left = event.pageX - mouseOffset.left;
  var top = event.pageY - mouseOffset.top;
  if (left < 10) {
  left = 0;
  } else if (left > $(window).width() - $modalDialog.width()) {
  left = $(window).width() - $modalDialog.width();
  }
  if (top < 10) {
  top = 0;
  } else if (top > $(window).height() - $modalDialog.height()) {
  top = $(window).height() - $modalDialog.height();
  }
  $modalDialog.offset({
  top: top,
  left: left
  });
 });
 });
 
 $(document).on("mouseup mouseleave", function () {
 $('body').off("mousemove");
 });
}

2. 在modal的show方法中添加調用draggable方法

Modal.prototype.show = function (_relatedTarget) {
    var that = this
    var e = $.Event('show.bs.modal', {relatedTarget: _relatedTarget})
 
    this.$element.trigger(e)
 
    if (this.isShown || e.isDefaultPrevented()) return
 
    this.isShown = true
 
    //調用draggable()增加拖拽
    this.draggable()
    this.checkScrollbar()
    this.setScrollbar()
    this.$body.addClass('modal-open')
 
    this.escape()
    this.resize()
    //......省略
}

完成上面的操作后直接引入剛剛修改的源碼js在頁面就已經能夠很好的支持拖拽了,而且整個拖拽是在可視窗口范圍內,不會超出邊界。

注意事項:完成上面的源碼修改后最好將bootstrap的源碼壓縮打包,不熟悉自動構建的可以放到開放的網站壓縮,熟悉自動化構建的最好使用gulp、webpack這樣的前端自動化工具來打包壓縮源代碼減少網頁加載過程中占用帶寬。當然也建議將文件命名為bootstrap-draggable.min.js類似的名稱,方便一目了然的猜到這文件與原始文件有何不同。除此之外你也可以直接下載bootstrap3.x版本的源代碼,然后修改里面的modal.js,然后使用它自身grunt構建來重新打包。

問題引深:bootstrap 4.0+的版本源碼和3.x的版本相比modal組件的修改并不很大,同樣可以采取上面的方式。包括讓modal居中也可修改源代碼來完成。

感謝你能夠認真閱讀完這篇文章,希望小編分享bootstrap拖拽組件的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

监利县| 巴彦县| 隆尧县| 沂水县| 宜兴市| 奉节县| 得荣县| 庄浪县| 紫阳县| 田林县| 桑植县| 通州市| 亳州市| 南郑县| 南平市| 邮箱| 兰州市| 青龙| 漠河县| 洛宁县| 郓城县| 岚皋县| 临泽县| 门头沟区| 曲阜市| 龙山县| 定陶县| 休宁县| 定南县| 广德县| 巴彦淖尔市| 阿尔山市| 定远县| 马关县| 安多县| 会东县| 合肥市| 偏关县| 德阳市| 当涂县| 米林县|