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中null与undefined分析
Jul 25 Javascript
ext checkboxgroup 回填数据解决
Aug 21 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
Sep 05 Javascript
一个封装js代码-----展开收起效果示例
Jul 03 Javascript
JS中实现简单Formatter函数示例代码
Aug 19 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
Jun 03 Javascript
javaScript+turn.js实现图书翻页效果实例代码
Feb 16 Javascript
Angualrjs和bootstrap相结合实现数据表格table
Mar 30 Javascript
详解Vue中状态管理Vuex
May 11 Javascript
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
JS实现放烟花效果
Mar 10 Javascript
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
十个迅速提升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
Drupal7中常用的数据库操作实例
2014/03/02 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
Prototype Date对象 学习
2009/07/12 Javascript
js函数的延迟加载实现代码
2012/10/11 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
2016/01/12 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
layui从数据库中获取复选框的值并默认选中方法
2018/08/15 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
简单了解django缓存方式及配置
2019/07/19 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
FitFlop澳大利亚官网:英国符合人体工学的鞋类品牌
2017/06/05 全球购物
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
生态学毕业生自荐信
2013/10/27 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
道路建设实施方案
2014/03/18 职场文书
中文专业自荐书
2014/06/29 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
施工安全员岗位职责
2015/04/11 职场文书
校园广播稿范文
2015/08/19 职场文书
如何写好活动总结
2019/06/21 职场文书
Java8中Stream的一些神操作
2021/11/02 Java/Android