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 相关文章推荐
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
Feb 03 Javascript
前后台交互过程中json格式如何解析以及如何生成
Dec 26 Javascript
Firefox下无法正常显示年份的解决方法
Sep 04 Javascript
jquery 设置style:display的方法
Jan 29 Javascript
JavaScript事件 &quot;事件对象&quot;的注意要点
Jan 14 Javascript
jquery实现放大镜简洁代码(推荐)
Jun 08 jQuery
vue.js全局API之nextTick全面解析
Jul 07 Javascript
JavaScript实现图片无缝滚动效果
Jul 07 Javascript
使用vue构建移动应用实战代码
Aug 02 Javascript
iphone刘海屏页面适配方法
May 07 Javascript
Vue filter 过滤当前时间 实现实时更新效果
Dec 20 Javascript
详细谈谈JavaScript中循环之间的差异
Aug 23 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编程开发“虚拟域名”系统
2006/10/09 PHP
php 验证码制作(网树注释思想)
2009/07/20 PHP
php分页代码学习示例分享
2014/02/20 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
js运动应用实例解析
2015/12/28 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
详解react、redux、react-redux之间的关系
2018/04/11 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
Vue动态生成表格的行和列
2019/07/18 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
[01:33]真香警告!DOTA2勇士令状不朽珍藏Ⅱ饰品欣赏
2018/06/26 DOTA
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
Python实现的爬虫功能代码
2017/06/24 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Python for循环与range函数的使用详解
2019/03/23 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
2015年师德师风承诺书
2015/01/22 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python