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中使用循环下拉菜单示例代码
Sep 24 Javascript
JS实现三个层重叠点击互相切换的方法
Oct 06 Javascript
JS实现带提示的星级评分效果完整实例
Oct 30 Javascript
JS控制HTML元素的显示和隐藏的两种方法
Sep 27 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
Oct 21 Javascript
详解Vue中watch的高级用法
May 02 Javascript
vue的token刷新处理的方法
Jul 17 Javascript
Vue.js中的组件系统
May 30 Javascript
小程序中canvas的drawImage方法参数使用详解
Jul 04 Javascript
layui 对table中的数据进行转义的实例
Sep 12 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 Javascript
Vue组件化(ref,props, mixin,.插件)详解
May 15 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
php防攻击代码升级版
2010/12/29 PHP
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
php object转数组示例
2014/01/15 PHP
PHP请求Socket接口测试实例
2016/08/12 PHP
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
js简单实现HTML标签Select联动带跳转
2013/10/23 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
全面解析Bootstrap排版使用方法(标题)
2015/11/30 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
2018/11/30 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
python实现的防DDoS脚本
2011/02/08 Python
Django 如何获取前端发送的头文件详解(推荐)
2017/08/15 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
python实现的汉诺塔算法示例
2019/10/23 Python
Python如何实现定时器功能
2020/05/28 Python
python如何快速生成时间戳
2020/07/21 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
苹果美国官方商城:Apple美国
2016/08/24 全球购物
物业管理毕业生个人的求职信
2013/11/30 职场文书
质量标语大全
2014/06/12 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
怎样写好演讲稿题目?
2019/08/21 职场文书
python urllib库的使用详解
2021/04/13 Python
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS