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保留小数点后几位的写法
Jan 03 Javascript
JS清空多文本框、文本域示例代码
Feb 24 Javascript
jQuery 取值、赋值的基本方法整理
Mar 31 Javascript
ExtJS4如何给同一个formpanel不同的url
May 02 Javascript
浅谈javascript面向对象程序设计
Jan 21 Javascript
javascript中递归函数用法注意点
Jul 30 Javascript
JavaScript与java语言有什么不同
Sep 22 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
Jul 19 Javascript
vue router 跳转后回到顶部的实例
Aug 31 Javascript
Vue项目中使用jquery的简单方法
May 16 jQuery
Vue中使用import进行路由懒加载的原理分析
Apr 01 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
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
2007/01/22 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
2016/12/26 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
微信小程序实现人脸检测功能
2018/05/25 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
解决python 输出是省略号的问题
2018/04/19 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
django有哪些好处和优点
2020/09/01 Python
英国最受欢迎的手表网站:Watch Shop
2016/10/21 全球购物
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
房地产员工找工作的自我评价
2013/11/15 职场文书
大学生预备党员自我评价分享
2013/11/16 职场文书
纠风工作实施方案
2014/03/15 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
作风建设剖析材料
2014/10/06 职场文书
学校纪律作风整改措施思想汇报
2014/10/11 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
单位接收函范文
2015/01/30 职场文书
三峡导游词
2015/01/31 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
JS数组去重详情
2021/11/07 Javascript