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 相关文章推荐
网页前台通过js非法字符过滤代码(骂人的话等等)
May 26 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
Jul 09 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
js实现文本框支持加减运算的方法
Aug 19 Javascript
javascript发送短信验证码实现代码
Nov 12 Javascript
vue将时间戳转换成自定义时间格式的方法
Mar 02 Javascript
vue使用监听实现全选反选功能
Jul 06 Javascript
浅谈vux之x-input使用以及源码解读
Nov 04 Javascript
Nginx设置为Node.js的前端服务器方法总结
Mar 27 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
Apr 10 Javascript
JS实现手写 forEach算法示例
Apr 29 Javascript
JavaScript中遍历的十种方法总结
Dec 15 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
PHP 工厂模式使用方法
2010/05/18 PHP
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
基于header的一些常用指令详解
2013/06/06 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
用javascript实现的支持lrc歌词的播放器
2007/05/17 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
移动端H5页面返回并刷新页面(BFcache)的方法
2018/11/06 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
[36:05]DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs Optic
2018/04/01 DOTA
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
Python open读写文件实现脚本
2008/09/06 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
Python3爬虫之自动查询天气并实现语音播报
2019/02/21 Python
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
Python爬虫requests库多种用法实例
2020/05/28 Python
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
学习自我鉴定
2014/02/01 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
学徒工职责
2014/03/06 职场文书
《忆江南》教学反思
2014/04/07 职场文书
档案接收函格式
2015/01/30 职场文书
2015年计划生育责任书
2015/05/08 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python