我想在拖动两个div之间的部分时调整div的大小。
在搜索中我找到this,但我不知道如何使这个水平而不是可用的垂直拖动?
我的div看起来像,
<div id="widnow">
<div id="button">-</div>
<div id="title_bar"><b>Console Log</b></div>
<div id="box">${logs}</div>
</div>
我希望标题栏可以垂直拖动。
我不想使用任何第三方插件。
答案 0 :(得分:1)
我更改了您的代码:
此外,还有 Fiddle DEMO
HTML:
<div id="sidebar">
<span id="position"></span>
sidebar
</div>
<div id="dragbar"></div>
<div id="main">main</div>
CSS:
body,html{width:100%;height:100%;padding:0;margin:0;}
#main{
background-color: BurlyWood;
float: left;
height:100px;
right: 0;
width: 100%;
}
#sidebar{
background-color: IndianRed;
width:100%;
float: left;
height:100px;
overflow-y: hidden;
}
#dragbar{
background-color:black;
height:5px;
float: left;
width: 100%;
cursor: row-resize;
}
#ghostbar{
width:3px;
background-color:#000;
opacity:0.5;
position:absolute;
cursor: col-resize;
z-index:999
}
JavaScript代码:
var i = 0;
var dragging = false;
$('#dragbar').mousedown(function(e){
e.preventDefault();
dragging = true;
var main = $('#main');
var dragbar = $("#dragbar");
var ghostbar = $('<div>',
{id:'ghostbar',
css: {
height: dragbar.outerHeight(),
width: dragbar.outerWidth(),
top: main.offset().top,
bottom: main.offset().bottom
}
}).appendTo('body');
$(document).mousemove(function(e){
ghostbar.css("top",e.pageY+2);
});
});
$(document).mouseup(function(e){
if (dragging){
$('#sidebar').css("height",e.pageY+2);
$('#main').css("top",e.pageY+2);
$('#ghostbar').remove();
$(document).unbind('mousemove');
dragging = false;
}
});