基于JQuery 改造bootstrap模态框拖动功能
看不爽现有的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);});});
原理:
并没有什么鬼原理,就是简单的数学计算。
基于JQuery 改造bootstrap模态框拖动功能相关推荐
- js,e.pageX、pageY模态框拖动
手写模态框拖动功能 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...
- 基于bootstrap模态框的日期选择器
近来由于工作需求,以bootstrap模态框+DIV+CSS+JS做了一个适用于移动端的日期选择器,能够满足多样的需求,目前处于第一个版本,后续可能会继续更新.废话不多说,直接进入制作过程. 首先,需 ...
- html拖拽模态框,bootstrap模态框实现拖拽效果
本文实例为大家分享了bootstrap模态框实现拖拽效果,供大家参考,具体内容如下 项目中用的有点乱,jquery和angularjs一起搞,有些插件用的jquery版本的,有的插件用的ng版本的.搞 ...
- 前端之bootstrap模态框
简介:模态框(Modal)是覆盖在父窗体上的子窗体.通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动.子窗体可提供信息.交互等. Modal简介 Modal实现弹出表单 M ...
- 地图选点 php,百度地图选点–Bootstrap模态框(Modal)插件
在网站的开发过程中,例如商家的注册等,需要商家设定自己的经纬度进行对商家的精确定位,同时也方便用户查找到附近距离范围内的商家.这样更利于网站的用户和商家互动.商家设定自己的经纬度就需要使用到百度地图2 ...
- Bootstrap 模态框插件Modal 的事件
事件 Bootstrap模态框插件modal提供了 4 个事件,通过监听这些事件,可以对特定操作阶段的用户行为作出响应.这些事件及含义见表 5‑2. 表 5‑2 Bootstrap模态框插件modal ...
- Bootstrap 模态框插件Modal 的方法
方法 Bootstrap模态框插件Modal的方法主要用来打开.关闭.隐藏Bootstrap模态框插件Modal: 1..modal(options) 使用一个可选的对象参数 options 调用 B ...
- Bootstrap 模态框插件Modal 的选项
选项 Bootstrap模态框插件modal提供了 4 个选项,所有的选项都可以通过 data 属性或 JavaScript 进行设置.见表 5‑1: 表 5‑1 Bootstrap模态框插件moda ...
- Bootstrap 模态框(Modal)
#Bootstrap 模态框(Modal)插件 详细讲解 #####第一步: 加载框架: https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jque ...
最新文章
- 2022-2028年中国气相防锈薄膜行业市场发展调研及投资前景分析报告
- const与#define的异同
- python 网络编程 struct解包时报错 struct.error: unpack requires a buffer of 4 bytes
- JS正则表达式使用详解
- C#ListBox对Item进行重绘,包括颜色
- LeetCode —— 146. LRU缓存机制(Python)
- Python内置库修炼——turtle绘图库指令大全
- c语言,在主函数中输入一个整数,求该整数各位数字的乘积,[求助]求由键盘输入的任意两个整数的积...
- cc1 transform链
- window.location.href的使用方法
- JVM 垃圾回收机制
- mysql 模糊匹配比自己短潆字符_根据中文字符串查询拼音声母
- 【实用算法教学】——教你如何用转换器抽取电影,音乐甚至是比赛等特征
- 跳槽进阿里了,面试阿里P6也没那么难。
- copy ctor、copy assignment(拷贝构造函数和拷贝赋值函数)
- 如何在不改SQL的情况下优化数据库- 云和恩墨优化专家罗海雄
- 几款接口文档管理工具
- C语言10道入门题集
- 使用Xilinx XSCT工具进行烧录
- 基于springboot开发的停车场管理系统-计算机毕业设计
热门文章
- 我的企业使用虚拟信用卡支付有什么优势
- Android CE DE加密小结
- Nginx环境搭建与搭建支持SSL的虚拟主机
- python 循环定时器 timer显示数据_【Python】多线程、定时循环爬取优信二手车信息...
- 414 Request-URI Too Long 15ms
- C语言购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。设d为300 000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五人处理。
- a king读后感 love of the_英语阅读读后感
- 主板噪音测试软件,E1通过刷主板BIOS方法,给风扇降低噪音
- React自定义组件使用onClick传参注意:onClick只是一个名字而已!
- VS2015+caffe+matlab+python+CPU