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 相关文章推荐
Display SQL Server Version Information
Jun 21 Javascript
用js实现控制内容的向上向下滚动效果
Jun 26 Javascript
替代window.event.srcElement效果的可兼容性的函数
Dec 18 Javascript
页面只有一个text的时候,回车自动submit的解决方法
Aug 12 Javascript
浅说js变量
May 25 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
Feb 19 Javascript
22点关于jquery性能优化的建议
May 28 Javascript
AngularJS创建自定义指令的方法详解
Nov 03 Javascript
Bootstrap栅格系统的使用和理解2
Dec 14 Javascript
js自定义瀑布流布局插件
May 16 Javascript
react 项目中引入图片的几种方式
Jun 02 Javascript
解决vue $http的get和post请求跨域问题
Jun 07 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
解析csv数据导入mysql的方法
2013/07/01 PHP
destoon复制新模块的方法
2014/06/21 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
php实现图片缩略图的方法
2016/03/29 PHP
详解PHP匿名函数与注意事项
2016/03/29 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
VUE实现可随意拖动的弹窗组件
2018/09/25 Javascript
JS如何实现封装列表右滑动删除收藏按钮
2020/07/23 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
在python中修改.properties文件的操作
2020/04/08 Python
python实现三壶谜题的示例详解
2020/11/02 Python
CSS 3.0文字悬停跳动特效代码
2020/10/26 HTML / CSS
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
广州迈达威.net面试题目
2012/03/10 面试题
校庆活动方案
2014/03/31 职场文书
个人租房协议书样本
2014/10/01 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
高中语文教学反思范文
2016/02/16 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP