bootstrap如何拖拽组件

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

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"); });}
登录后复制

相关推荐:《bootstrap入门教程》

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如何拖拽组件的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:bootstrap轮播怎么停止自动轮播
下一篇:聊聊CSS新特性content-visibility,助你提升页面渲染性能

发表评论

关闭广告
关闭广告