JQuery拖拽元素改变大小尺寸实现代码


Posted in Javascript onDecember 10, 2012

"元素拖拽改变大小"其实和"元素拖拽"一个原理,只是所动态改变的对象不同而已,主要在于 top、left、width、height 的运用,相对实现起来也非常容易。以下附出源码原型,弄明白了原理再扩展其他实际应用,思路就变得简单、清晰得多了

下面是 JavaScript Code

<script type="text/javascript"> 
/* 
* jQuery.Resize by wuxinxi007 
* Date: 2011-5-14 
*/ 
$(function(){ 
//绑定需要拖拽改变大小的元素对象 
bindResize(document.getElementById('test')); 
}); function bindResize(el){ 
//初始化参数 
var els = el.style, 
//鼠标的 X 和 Y 轴坐标 
x = y = 0; 
//邪恶的食指 
$(el).mousedown(function(e){ 
//按下元素后,计算当前鼠标与对象计算后的坐标 
x = e.clientX - el.offsetWidth, 
y = e.clientY - el.offsetHeight; 
//在支持 setCapture 做些东东 
el.setCapture ? ( 
//捕捉焦点 
el.setCapture(), 
//设置事件 
el.onmousemove = function(ev){ 
mouseMove(ev || event) 
}, 
el.onmouseup = mouseUp 
) : ( 
//绑定事件 
$(document).bind("mousemove",mouseMove).bind("mouseup",mouseUp) 
) 
//防止默认事件发生 
e.preventDefault() 
}); 
//移动事件 
function mouseMove(e){ 
//宇宙超级无敌运算中... 
els.width = e.clientX - x + 'px', 
els.height = e.clientY - y + 'px' 
} 
//停止事件 
function mouseUp(){ 
//在支持 releaseCapture 做些东东 
el.releaseCapture ? ( 
//释放焦点 
el.releaseCapture(), 
//移除事件 
el.onmousemove = el.onmouseup = null 
) : ( 
//卸载事件 
$(document).unbind("mousemove", mouseMove).unbind("mouseup", mouseUp) 
) 
} 
} 
</script>
Javascript 相关文章推荐
FormValid0.5版本发布,带ajax自定义验证例子
Aug 17 Javascript
javascript function调用时的参数检测常用办法
Feb 26 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
Nov 26 Javascript
JavaScript正则表达式之multiline属性的应用
Jun 16 Javascript
JQ技术实现注册页面带有校验密码强度
Jul 27 Javascript
教你如何在Node.js中使用jQuery
Aug 28 Javascript
用file标签实现多图文件上传预览
Feb 14 Javascript
Vuex模块化实现待办事项的状态管理
Mar 15 Javascript
JS实现验证码倒计时的注册页面
Jan 02 Javascript
layui实现点击按钮给table添加一行
Aug 10 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 Javascript
vue中使用props传值的方法
May 08 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
Dec 10 #Javascript
JQuery each()函数如何优化循环DOM结构的性能
Dec 10 #Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
Dec 10 #Javascript
如何用ajax来创建一个XMLHttpRequest对象
Dec 10 #Javascript
iframe 上下滚动条如何默认在下方实现原理
Dec 10 #Javascript
Ajax执行顺序流程及回调问题分析
Dec 10 #Javascript
js切换div css注意的细节
Dec 10 #Javascript
You might like
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
php函数重载的替代方法--伪重载详解
2015/05/08 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
javascript进行数组追加方法小结
2014/06/16 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
js编写选项卡效果
2017/05/23 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
快速了解Python相对导入
2018/01/12 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
基于python实现学生管理系统
2018/10/17 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
Django models.py应用实现过程详解
2019/07/29 Python
学Python 3的理由和必要性
2019/11/19 Python
Django中FilePathField字段的用法
2020/05/21 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
好习惯伴我成长演讲稿
2014/05/21 职场文书
2014年优秀党员材料
2014/12/18 职场文书
民间借贷借条如何写
2015/05/26 职场文书
惊天动地观后感
2015/06/10 职场文书