JavaScript

超轻量级php框架startmvc

jQuery实现的简单对话框拖动功能示例

更新时间:2020-07-12 04:30:01 作者:startmvc
本文实例讲述了jQuery实现的简单对话框拖动功能。分享给大家供大家参考,具体如下:<!D

本文实例讲述了jQuery实现的简单对话框拖动功能。分享给大家供大家参考,具体如下:


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>www.jb51.net jquery 拖动</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel=" rel="external nofollow" stylesheet">
<style>
 *{margin: 0;padding: 0;box-sizing: border-box;-moz-user-select:none;}
 body {font: 12px/16px bold 'microsoft yahei,微软雅黑';}
 .dragContainer {
 width: 382px;
 height: 395px;
 position: absolute;
 top: 50%;
 left: 50%;
 border: 1px solid red;
 margin-left: -191px;
 margin-top: -197.5px;
 }
 .dragContainer .dragtitle {
 width: 100%;
 height: 35px;
 border-bottom: 1px solid red;
 text-align: center;
 line-height: 35px;
 }
 .dragContainer .dragtitle:hover {
 cursor: move;
 }
 .dragContainer .content {
 width: 100%;
 height: 360px;
 }
 p.buttonGroup {
 width: 100%;
 text-align: center;
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 padding: 5px;
 border-top: 1px solid red;
 }
 p.buttonGroup input {
 padding: 5px 10px;
 color: white;
 }
 p.buttonGroup input:hover {
 cursor: pointer;
 cursor: hand;
 }
 p.buttonGroup input:first-child {
 margin-left: 25px;
 background: blue;
 }
 p.buttonGroup input.btn2 {
 margin-left: 15px;
 background: red;
 }
 </style>
</head>
<body>
 <div class="dragContainer" id="drag" style="'position:absolute;" >
 <p class="dragtitle">标题栏</p>
 <div class="content"></div>
 <p class="buttonGroup"><input type="button" value="确定"><input type="button" value="取消" class="btn2"></p>
 </div>
 <script src="http://cdn.bootcss.com/jquery/2.1.0/jquery.js"></script>
 <script type="text/javascript">
 var mydrag={
 mousePoint: {x:0,y:0}, //初始化坐标
 drag: function(){
 var that=this; //保存当前对象即(mydrag),如果不保存,在mousedown()里访问不了mydrag这个对象
 var targetid=$(".dragtitle");
 targetid.mousedown(function(event){
 var e=event;
 var offsetLeft=targetid.offset().left; //当前div的左偏移距离
 var offsetTop=targetid.offset().top; //当前div的顶部偏移距离
 that.mousePoint.x=e.clientX-offsetLeft;//计算鼠标点击时离它自己div的横向距离
 that.mousePoint.y=e.clientY-offsetTop; //计算鼠标点击时离它自己div的纵向距离
 $(document).bind('mousemove',move);
 e.stopPropagation();
 });
 function move(event){
 var e =event;
 var Left=e.clientX-that.mousePoint.x; //移动后,重新计算左偏移和顶部偏移距离
 var Top=e.clientY-that.mousePoint.y;
 $("#drag").css({'top':Top,'left':Left,'margin':0});
 $(document).bind('mouseup',end);
 e.stopPropagation();
 };
 function end(event){
 var e = event;
 $(document).unbind('mousemove', move);
 $(document).unbind('mouseup',end);
 e.stopPropagation();
 };
 }
 }
 mydrag.drag();
 </script>
</body>
</html>

使用在线HTML/CSS/JavaScript代码运行工具 http://tools.jb51.net/code/HtmlJsRun测试,运行效果如下:

jQuery 对话框 拖动