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 相关文章推荐
JavaScript 拖拉缩放效果
Dec 10 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
Feb 15 Javascript
Js event事件在IE、FF兼容性问题
Jan 01 Javascript
Actionscript与javascript交互实例程序(修改)
Sep 22 Javascript
Angular ui.bootstrap.pagination分页
Jan 20 Javascript
AngularJS报错$apply already in progress的解决方法分析
Jan 30 Javascript
AngularJS路由Ui-router模块用法示例
May 29 Javascript
微信小程序左滑动显示菜单功能的实现
Jun 14 Javascript
vue中vee validate表单校验的几种基本使用
Jun 25 Javascript
详解如何用typescript开发koa2的二三事
Nov 13 Javascript
Node.js操作系统OS模块用法分析
Jan 04 Javascript
浅谈vue.watch的触发条件是什么
Nov 07 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学习之正则表达式
2011/04/17 PHP
php json与xml序列化/反序列化
2013/10/28 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
JS高级技巧(简洁版)
2018/07/29 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
python中bisect模块用法实例
2014/09/25 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
软件测试面试题
2015/10/21 面试题
《和田的维吾尔》教学反思
2014/04/14 职场文书
个人债务授权委托书
2014/10/17 职场文书
家长对孩子的寄语
2015/02/26 职场文书
国际贸易实训总结
2015/08/03 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
Redis高可用集群redis-cluster详解
2022/03/20 Redis
分享几个实用的CSS代码块
2022/06/10 HTML / CSS
小程序自定义轮播图圆点组件
2022/06/25 Javascript