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 相关文章推荐
js静态方法与实例方法分析
Jul 04 Javascript
Jquery读取URL参数小例子
Aug 30 Javascript
JS网页播放声音实现代码兼容各种浏览器
Sep 22 Javascript
js事件监听机制(事件捕获)总结
Aug 08 Javascript
利用jQuery和CSS将背景图片拉伸
Oct 16 Javascript
ES6概念 Symbol toString()方法
Dec 25 Javascript
Angularjs 依赖压缩及自定义过滤器写法
Feb 04 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
Feb 27 Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 Javascript
详解vue-cli下ESlint 配置说明
Sep 03 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
Sep 30 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
May 15 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
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
discuz程序的PHP加密函数原理分析
2011/08/05 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
js跟随滚动条滚动浮动代码
2009/12/31 Javascript
突发奇想的一个jquery插件
2010/11/19 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
三种方式获取XMLHttpRequest对象
2014/04/21 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
详解vue-validator(vue验证器)
2017/01/16 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
layui实现文件或图片上传记录
2018/08/28 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
python计算书页码的统计数字问题实例
2014/09/26 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
Python入门学习指南分享
2018/04/11 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
多个版本的python共存时使用pip的正确做法
2020/10/26 Python
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
2014/02/10 HTML / CSS
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
业务员的岗位职责
2014/03/15 职场文书
企业授权委托书范本
2014/04/02 职场文书
对祖国的寄语大全
2014/04/11 职场文书
安全责任书怎么写
2014/07/28 职场文书
党员剖析材料范文
2014/09/30 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
社区国庆节活动总结
2015/03/23 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
MySQL添加索引特点及优化问题
2022/07/23 MySQL