jquery实现div拖拽宽度示例代码


Posted in Javascript onJuly 31, 2013

本例是个非常简单的div拖动,有需要的朋友可根据自己的需求,添加相应的代码。欢迎拍砖

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html style="height:100%;"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>div width resize</title> 
<!--引用jquery--> 
<script src="http://code.jquery.com/jquery-1.8.0.min.js" 
type="text/javascript"></script> 
<script type="text/javascript"> 
function bindResize(el) 
{ 
//初始化参数 
var els = document.getElementById('menu').style; 
//鼠标的 X 和 Y 轴坐标 
x = 0; 
//邪恶的食指 
$(el).mousedown(function (e) 
{ 
//按下元素后,计算当前鼠标与对象计算后的坐标 
x = e.clientX - el.offsetWidth - $("#menu").width(); 
//在支持 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'; 
} 
//停止事件 
function mouseUp() 
{ 
//在支持 releaseCapture 做些东东 
el.releaseCapture ? ( 
//释放焦点 
el.releaseCapture(), 
//移除事件 
el.onmousemove = el.onmouseup = null 
) : ( 
//卸载事件 
$(document).unbind("mousemove", mouseMove).unbind("mouseup", mouseUp) 
); 
} 
} 
var divResize=function(){ 
var totalHeight=$("html").height(); 
console.log(totalHeight); 
var topHeight=$("#top").height() 
$("#menu").height(totalHeight-topHeight); 
$("#rightbar").height(totalHeight-topHeight); 
} 
$(function() { 
divResize(); 
$(window).resize(divResize); bindResize(document.getElementById('rightbar')); 
}); 
</script> 
<style type="text/css"> 
.content { 
width: 200px; 
background: #f1f1f1; 
text-align: center; 
border-color: #CCCCCC; 
border-style: solid; 
border-width: 0 1px; 
} 
</style> 
</head> 
<body style="padding: 0; margin: 0;"> 
<%-- 
<table style="height: 100%"> 
<tr> 
<td id="menu" class="content"></td> 
<td id="rightbar" 
style="width: 2px; background: #cccccc; cursor: e-resize;"></td> 
</tr> 
</table> 
--%> 
<div> 
<div id="top" style="width: 100%; height: 80px;"></div> 
<div style="float: left;" id="menu" class="content"> 
<span>待拖拽的div</span> 
</div> 
<div id="rightbar" 
style="width: 2px; background: #cccccc; cursor: e-resize; float: left;"></div> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
javascript Event对象详解及使用示例
Nov 22 Javascript
js验证身份证号有效性并提示对应信息
Oct 19 Javascript
JavaScript判断是否是微信浏览器
Jun 13 Javascript
自动化测试读写64位操作系统的注册表
Aug 15 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
Nov 01 Javascript
SpringMVC+bootstrap table实例详解
Jun 02 Javascript
JavaScript插入排序算法原理与实现方法示例
Aug 06 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
Aug 13 Javascript
解决vue 引入子组件报错的问题
Sep 06 Javascript
深入理解Vue keep-alive及实践总结
Aug 21 Javascript
Vue如何将页面导出成PDF文件
Aug 17 Javascript
vue3+typescript实现图片懒加载插件
Oct 26 Javascript
JS 获取浏览器和屏幕宽高等信息的实现思路及代码
Jul 31 #Javascript
javascript获取下拉列表框当中的文本值示例代码
Jul 31 #Javascript
禁用页面部分JavaScript方法的具体实现
Jul 31 #Javascript
jquery 单引号和双引号的区别及使用注意
Jul 31 #Javascript
选择器中含有空格在使用示例及注意事项
Jul 31 #Javascript
在表单提交前进行验证的几种方式整理
Jul 31 #Javascript
cookie.js 加载顺序问题怎么才有效
Jul 31 #Javascript
You might like
基于mysql的论坛(2)
2006/10/09 PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
php守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
php强制运行广告的方法
2014/12/01 PHP
在Linux系统下一键重新安装WordPress的脚本示例
2015/06/30 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
[04:09]显微镜下的DOTA2第十二期—NaVi美如画的团战
2014/06/23 DOTA
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
[58:00]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第二场 2月7日
2021/03/11 DOTA
gearman的安装启动及python API使用实例
2014/07/08 Python
python自动化测试之连接几组测试包实例
2014/09/28 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
Python坐标线性插值应用实现
2019/11/13 Python
Python字节单位转换实例
2019/12/05 Python
Python如何实现在字符串里嵌入双引号或者单引号
2020/03/02 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
Python中Selenium模块的使用详解
2020/10/09 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
介绍一下内联、左联、右联
2013/12/31 面试题
竞选班长演讲稿
2013/12/30 职场文书
小学新教师培训方案
2014/02/03 职场文书
双方协议书
2014/04/22 职场文书
商场父亲节活动方案
2014/08/27 职场文书
优秀大学生自荐信
2015/03/26 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL