基于JQuery 改造bootstrap模态框拖动功能
来源:互联网 发布:大数据综合服务平台 编辑:程序博客网 时间:2024/05/22 02:24
看不爽现有的bootstrap拖动实现,自己也手痒,就自己写了一个拖动处理。
PS:其他实现拖动方法 http://www.gbtags.com/gb/rtreplayerpreview/230.htm 供参考
JQuery版本1.7.2
Bootstrap版本3.3.4
html代码(就是普通的模态框代码)
<div class="modal fade" id="modalID" tabindex="-1" role="dialog" aria-labelledby="myModal" aria-hidden="true" > <div class="modal-dialog"> <div class="modal-content"><form method="POST" id="" action="" onSubmit=""> <div class="modal-header popup_box_head_style"> <button type="button" class="close popup_box_close_style" style="color:white" data-dismiss="modal" aria-hidden="true"> × </button> <div class="modal-footer popup_box_footer_style" style="text-align:center"> <button type="button" class="btn btn-default btn-lg" style="background-color:#4497f8;color:white;border:1px solid #4497f8" data-dismiss="modal">关闭 </button></div></form> </div> </div></div>
Js代码
/** 拖拽模态框*/var mouseStartPoint = {"left":0,"top": 0};var mouseEndPoint = {"left":0,"top": 0};var mouseDragDown = false;var oldP = {"left":0,"top": 0};var moveTartet ;$(document).ready(function(){$(document).on("mousedown",".modal-header",function(e){if($(e.target).hasClass("close"))//点关闭按钮不能移动对话框return;mouseDragDown = true;moveTartet = $(this).parent();mouseStartPoint = {"left":e.clientX,"top": e.clientY};oldP = moveTartet.offset();});$(document).on("mouseup",function(e){mouseDragDown = false;moveTartet = undefined;mouseStartPoint = {"left":0,"top": 0};oldP = {"left":0,"top": 0};});$(document).on("mousemove",function(e){if(!mouseDragDown || moveTartet == undefined)return;var mousX = e.clientX;var mousY = e.clientY;if(mousX < 0)mousX = 0;if(mousY < 0)mousY = 25;mouseEndPoint = {"left":mousX,"top": mousY};var width = moveTartet.width();var height = moveTartet.height();mouseEndPoint.left = mouseEndPoint.left - (mouseStartPoint.left - oldP.left);//移动修正,更平滑mouseEndPoint.top = mouseEndPoint.top - (mouseStartPoint.top - oldP.top);moveTartet.offset(mouseEndPoint);});});
原理:
并没有什么鬼原理,就是简单的数学计算。
1 0
- 基于JQuery 改造bootstrap模态框拖动功能
- JQuery 改造bootstrap模态框拖动功能
- jquery弹性云拖动计算功能
- 基于jquery的html5简单拖动插件
- 基于jquery的可拖动div
- 改造BOOTSTRAP的TAB
- 深度改造的基于JQuery的Flexigrid插件
- 基于jQuery的FlexiGrid的插件使用和改造
- 基于bootstrap实现简单用户管理功能
- bootstrap+jquery 点击显示大图功能
- 基于jquery的轻量级bootstrap校验插件
- 通用分页 (基于jquery、bootstrap)
- 基于MVC5和Bootstrap的jQuery TreeView
- 基于bootstrap的JQuery绑定单击事件
- 基于bootstrap的jQuery bootstrap-treeview 多级列表树插件
- 推荐一款基于 Bootstrap 的 jQuery 表格插件Bootstrap table
- bootstrap可视化拖动操作
- Bootstrap modal模态框可拖动
- js正则表达式验证手机号码,用户名和邮箱
- iptables 之-m -state
- scribe、chukwa、kafka、flume日志系统对比
- 热更新
- NIO学习系列笔记(2)
- 基于JQuery 改造bootstrap模态框拖动功能
- android内存泄漏分析
- 如何编写一个完整的Linux命令
- C++数据结构: 顺序表 详细实现
- UILable响应点击事件
- 一个特殊的内码转换处理对于XML格式的UTF-8
- WorkFlow简单使用
- 体验几个超酷超炫的HTML 5 Cavas应用
- 使用python进行数据分析