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 相关文章推荐
jQuery操作 input type=checkbox的实现代码
Jun 14 Javascript
js给onclick赋值传参数的两种方法
Nov 25 Javascript
ext combobox动态加载数据库数据(附前后台)
Jun 17 Javascript
jquery实现全选、反选、获得所有选中的checkbox
Sep 13 Javascript
Bootstrap表单组件教程详解
Apr 26 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 Javascript
微信小程序 页面跳转传参详解
Oct 28 Javascript
Angular之toDoList的实现代码示例
Dec 02 Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 Javascript
JavaScript中set与get方法用法示例
Aug 15 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
基于js实现数组相邻元素上移下移
May 19 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快速统计某个数据库中每张表的数据量
2012/09/04 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
简单的自定义php模板引擎
2016/08/26 PHP
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
js生成验证码并直接在前端判断
2015/05/15 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
Python常用内置函数总结
2015/02/08 Python
python删除列表内容
2015/08/04 Python
python如何实现内容写在图片上
2018/03/23 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
500行python代码实现飞机大战
2020/04/24 Python
Python如何输出百分比
2020/07/31 Python
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
医学专业五年以上个人求职信
2013/12/03 职场文书
技术副厂长岗位职责
2013/12/26 职场文书
自荐信格式简述
2014/01/25 职场文书
庆元旦广播稿
2014/02/10 职场文书
制作部班长职位说明书
2014/02/26 职场文书
学生会部长竞聘书
2014/03/31 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
指导教师推荐意见
2015/06/05 职场文书
追悼词范文大全
2015/06/23 职场文书
思想品德课教学反思
2016/02/24 职场文书
oracle索引总结
2021/09/25 Oracle
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers