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 相关文章推荐
javascript之dhDataGrid Ver2.0.0代码
Jul 01 Javascript
js使用函数绑定技术改变事件处理程序的作用域
Dec 26 Javascript
15款jQuery分布引导插件分享
Feb 04 Javascript
node.js集成百度UE编辑器
Feb 05 Javascript
Javascript数组Array方法解读
Mar 13 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
Mar 30 Javascript
javascript self对象使用详解
Oct 18 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
Mar 28 Javascript
使用JavaScript生成罗马字符的实例代码
Jun 08 Javascript
express.js中间件说明详解
Mar 19 Javascript
简单了解vue.js数组的常用操作
Jun 17 Javascript
JavaScript类的继承多种实现方法
May 30 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
jquery操作HTML5 的data-*的用法实例分享
2014/08/17 Javascript
jQuery实现跨域
2015/02/03 Javascript
在JavaScript的正则表达式中使用exec()方法
2015/06/16 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
开学典礼演讲稿
2014/05/23 职场文书
禁毒宣传标语
2014/06/19 职场文书
赤壁观后感(2)
2015/06/15 职场文书
python基于OpenCV模板匹配识别图片中的数字
2021/03/31 Python
Android Studio 计算器开发
2022/05/20 Java/Android
vue3不同环境下实现配置代理
2022/05/25 Vue.js