bootstrap如何拖拽组件

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  $(window).width() - $modalDialog.width()) {  left = $(window).width() - $modalDialog.width();  }  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如何拖拽组件的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3003130.html

(0)
上一篇 2025年3月13日 00:31:38
下一篇 2025年3月7日 09:38:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • bootstrap如何设置行间距

    比如现在如下的基于 Bootstrap 框架布局的HTML代码,需要在每行之间的上边添加间距(padding或者margin),有哪些方法可以实现呢?                                             …

    2025年3月13日
    200
  • 如何使用bootstrap快速实现登录页面

    首先访问https://v3.bootcss.com/getting-started/#download下载bootstrap。 下载后解压,目录如下,很简洁: 相关推荐:《bootstrap入门教程》 下面就开始编写登录页面,如图,主要就…

    2025年3月13日 编程技术
    200
  • bootstrap如何制作下拉菜单

    首先要在Sublime Text中新建HTML页面,如下图所示,一定注意编码选择utf-8。 然后,我们运用link标签导入bootstrap的样式库,如下图所示: 由于点击下拉菜单的效果需要脚本实现,所以需要导入jquery和bootst…

    2025年3月13日 编程技术
    200
  • 如何用bootstrap定义上弹菜单

    有些菜单是需要向上弹出的,比如说你的菜单在页面最底部,而这个菜单正好有一个下拉菜单,为了让用户有更好的体验,不得不让下拉菜单向上弹出。在bootstrap框架中专门为这种效果提代了一个类名“dropup”。使用方法正如前面所示,只需要在“b…

    2025年3月13日
    200
  • bootstrap的下拉多选框如何使用

    使用bootstrap-select组件时,先引用下列文件 最后一个文件 defaults-zh_CN.min.js 非必需,是组件中文化的时候才需要引用。 登录后复制 使用就更加简单了,不用任何已经js,直接使用class就可以初始化。 …

    2025年3月13日 编程技术
    200
  • 如何利用bootstrap分页

    下载bootstrap然后解压到本地电脑目录,新建一个test目录用来存放测试文件。 新建一个测试的pagination.html文件。 nbsp;html> Bootstrap 分页测试   登录后复制«12345» 相关推荐:《b…

    2025年3月13日 编程技术
    200
  • bootstrap如何响应式布局

     bootstrap响应式布局是利用其栅格系统,对于不同的屏幕采用不同的类属性。 在开发中可以只写一套代码在手机平板,PC端都能使用,而不用考虑使用媒体查询(针对不同的设备分别写不同的代码)。(推荐学习:Bootstrap视频教程) Boo…

    2025年3月13日
    200
  • 如何使用bootstrap实现年月日的时间选择

    下面介绍如何使用bootstrap实现年月日的时间选择。 使用bootstrap实现时间选择,页面需要加载以下文件:(推荐学习:Bootstrap视频教程) 1、CSS文件:bootstrap.min.css、bootstrap-datet…

    2025年3月13日
    200
  • bootstrap如何学习

    我以前也是通过看一些视频教程来学的,比如慕课网上的,比如51cto上的那些零基础入门bootstrap什么的,还有一些培训班里流传出来的,感觉晕乎乎的,不知所云。 还是在后面不断使用的过程中慢慢体会到它的价值。相信很多没有什么基础的初学者学…

    2025年3月13日
    200
  • bootstrap如何让图片居中显示

    我们在用bootstrap排版内容的时候,有的时候在内容中需要图片水平居中显示。 一般情况下,我们的图片都使用了.img-responsive 类来实现图片响应式。(推荐学习:Bootstrap视频教程) 如果需要实现响应式图片水平居中,那…

    2025年3月13日
    200

发表回复

登录后才能评论