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动画效果类封装代码
Aug 28 Javascript
谷歌浏览器 insertCell与appendChild的区别
Feb 12 Javascript
window.name代替cookie的实现代码
Nov 28 Javascript
扩展JavaScript功能的正确方法(译文)
Apr 12 Javascript
密码强度检测效果实现原理与代码
Jan 04 Javascript
js中将String转换为number以便比较
Jul 08 Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
Aug 03 Javascript
vue+element+Java实现批量删除功能
Apr 08 Javascript
Node.js系列之连接DB的方法(3)
Aug 30 Javascript
基于JavaScript实现猜数字游戏代码实例
Jul 30 Javascript
javascript实现点击产生随机图形
Jan 25 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
逐步提升php框架的性能
2008/01/10 PHP
PHP实现向关联数组指定的Key之前插入元素的方法
2017/06/06 PHP
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
2021/02/01 Python
飞利浦比利时官方网站:Philips比利时
2016/08/24 全球购物
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
aden + anais英国官网:美国婴儿贴身用品品牌
2019/09/08 全球购物
JDK安装目录下有哪些内容
2014/08/25 面试题
员工评语大全
2014/01/19 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
微观世界观后感
2015/06/10 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP