Html
    Css
    Js

    
                        
body {
	font-family:'微软雅黑','arial';
}
* {
	padding:0;
	margin:0;
}
/* 弹窗 */
.m-xloginPanel {
	width:600px;
	height:300px;
	left:40px;
	top:40px;
	position:absolute;
	border:1px solid #3683cb;
	background:#fff;
}
.m-xloginPanel i {
	position:absolute;
	z-index:2;
}
.m-xloginPanel i.bart,.m-xloginPanel i.barb {
	height:4px;
	left:-1px;
	right:-1px;
	/*background:#ffc;
	*/cursor:n-resize;
}
.m-xloginPanel i.bart {
	top:-1px;
}
.m-xloginPanel i.barb {
	bottom:-1px;
}
.m-xloginPanel i.barr,.m-xloginPanel i.barl {
	width:4px;
	top:-1px;
	bottom:-1px;
	cursor:e-resize;
	/*background:#ffc;
	*/
}
.m-xloginPanel i.barl {
	left:-1px;
}
.m-xloginPanel i.barr {
	right:-1px;
}
.m-xloginPanel i.bar {
	width:14px;
	height:14px;
	cursor:nw-resize;
	bottom:-1px;
	right:-1px;
	background:url(../images/drag_ico.gif) no-repeat;
}
.m-xloginPanel .content {
	position:absolute;
	width:100%;
}
.m-xloginPanel .content h3 {
	font-weight:normal;
	color:#fff;
	font-size:24px;
	text-align:left;
	background:#3683cb;
	height:60px;
	line-height:60px;
	overflow:hidden;
	padding-left:20px;
	margin:4px;
	cursor:move;
}
.m-xloginPanel .content p {
	font-size:22px;
	color:#666;
	padding:10px 14px;
	text-indent:44px;
	line-height:36px;
	margin:0;
	z-index:3;
}

                        
↑上面代码改变,会自动显示代码结果 jQuery调用版本:2.1.4
 立即下载

弹窗拖拽和放大缩小

引言

1.编写目的

统一HTML5在线开发工具代码风格,实现开发工程化,提高代码复用率,降低开发代码

开发规范

1.目录结构

    目录分为cssimagesjs 三个目录文件夹

2.css

    main.css  页面布局样式

3.images

页面所有图片

4.js

    a) jquery-1.7.1.js     jQuery库

    b) scripts.js   封装拖拽插件

插件

1.插件名称 myPlugin

2.插件调用 $(元素).myPlugin(参数)

3.插件的基本定义

$.fn.myPlugin = function(options) {
var defaults = {
    参数1:''
    参数2:''
};
var settings = $.extend({} , defaults, options);
}

插件引用(scripts.js)

1.拖拽弹窗

    a) 参数 draftin : '.J-xloginPanel h3' 拖拽的元素

    b) 参数 parentdraf : '.J-xloginPanel' 拖拽元素父级

    c) 当鼠标按下时获取(当前x,y轴到父级的距离)

var disX = event.pageX - $(settings.parentdraf).offset().left
var disY = event.pageY - $(settings.parentdraf).offset().top

    d) 当鼠标移动时获取(移动坐标,最大移动的距离)

var mouseX = event.pageX - disX
var mouseX = event.pageY - disY
var maxX = 浏览器宽度 - 弹窗宽度
var maxY = 浏览器高度 - 弹窗高度

    e) 移动的距离   mouseX  mouseX

    f) 最大移动距离 maxX  maxY

    g) 最小移动距离 0  0

    h) $(弹窗).css({'left' : mouseX, 'top':mouseY})

2.左边拖拽

a) 参数 sizeLeft : '.J-xloginPanel .barl'  左边拖拽

b) 当鼠标按下时获取父元素的宽度,父元素距离左边的距离

var disX = $(settings.parentdraf).offset().left
var drafw = $(settings.parentdraf).width()

c) 当鼠标移动是获取移动距离 var mouseX = event.pageX

d) 最小距离 x=0

e) $(弹窗).css({'left':mouseX , 'width':(disX-mouseX)+drafw })

3.右边拖拽

a) 参数 sizeRight : '.J-xloginPanel .barr' 右边拖拽

b) 当鼠标按下时获取 disX = $(settings.parentdraf).offset().left

c) 当鼠标移动时获取

mouseX = event.pageX - disX

maxX = 浏览器宽度 - disX

d) 移动的最大距离 maxX

e) $(弹窗).css({'width':mouseX })

4.下边拖拽

a) 参数 sizeTop : '.J-xloginPanel .barb 上边拖拽

b) 当鼠标按下时获取父级距离浏览器的距离

disY = $(settings.parentdraf).offset().top

c) 当鼠标移动时获取移动坐标和最大移动的坐标

mouseY = event.pageY-disY

maxY = 浏览器宽 - disY

d) 最大距离 Y = maxY

e) $(弹窗).css({'height':mouseY })

5.右下拖拽

a) 参数 sizeSkew : '.J-xloginPanel .bar'

b) 当鼠标按下时获取父级距离左边的距离,父级距离上边的距离

disX = $(settings.parentdraf).offset().left

disY = $(settings.parentdraf).offset().top

c) 当鼠标移动时获取移动的坐标,移动范围最大的坐标

mouseX = event.pageX - disX

mouseY = event.pageY - disY

maxX = 浏览器宽 - disX

maxY =浏览器高 - disY

d) 最大距离 X = maxX  Y = maxY

e) $(弹窗).css({'width':mouseX ,  'height':mouseY})

0