<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{margin: 0;padding: 0;}
#box{position: absolute;right: 0;width: 200px;height: 100%;background-color: #007AFF;}
#line{width: 2px;height: 100%; background-color: #000;position: absolute; right: 200px;cursor: e-resize;}
</style>
<script type="text/javascript">
window.onload=function(){
var oBox=document.getElementById('box');
var oLine = document.getElementById('line');
var b='';//声明两个空变量a,b;
var a='';
oLine.onmousedown=function(ev){
var iEvent=ev||event;
var dx=iEvent.clientX;//当你第一次单击的时候,存储x轴的坐标。
var dy=iEvent.clientY;//当你第一次单击的时候,储存Y轴的坐标。
var dw=oBox.offsetWidth;//存储默认的div的宽度。
var dh=oBox.offsetHeight;//存储默认的div的高度。
var disright=oBox.offsetLeft+oBox.offsetWidth;//存储默认div右边距离屏幕左边的距离。
var distop=oBox.offsetHeight+oBox.offsetTop;//存储默认div上边距离屏幕左边的距离。
if(iEvent.clientX<oBox.offsetLeft+10){//同理
b='left';
}
document.onmousemove=function(ev){
var iEvent=ev||event;
if(b=='left'){
oBox.style.width=dw-(iEvent.clientX-dx)+'px';//iEvent.clientX-dx表示第二次鼠标的X坐标减去第一次鼠标的X坐标,得到绿色移动的距离(为负数),再加上原本的div宽度,就得到新的宽度。
oBox.style.left=disright-oBox.offsetWidth+'px';//disright表示盒子右边框距离左边的距离,disright-当前的盒子宽度,就是当前盒子距离左边的距离
oLine.style.left = disright-oBox.offsetWidth-2+'px';//disright表示盒子右边框距离左边的距
if(oBox.offsetWidth<=10){
oBox.style.width='10px';
oBox.style.left=disright-oBox.offsetWidth+'px';//防止抖动
}
}
};
document.onmouseup=function(){
document.onmousedown=null;
document.onmousemove=null;
};
return false;
};
};
</script>
</head>
<body style="height: 100%;">
<div id="line"></div>
<div id="box"></div>
</body>
</html>
js 拖动改变侧边栏div的宽度
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- (1) export 和 export default 的区别 export ( import ) 可以有多个,e...
- 背景设置(参考前边rem布局代码理解) .div{ position:absolute; width:10rem;...