2011-03-03 21 views
1

这是一个有点难以解释,但我会尽我所能:一个浮在左边,右边其他浮动(:DIV动态调整使用上下滑动

我的网页上使用两个div分50%或多或少)。

我想添加一个新功能:动态调整大小。也就是说:当我点击DIV#1的右边框或点击DIV#2的左边框时,每个人都应该从左到右或从右到左调整大小。

也许你不理解我,但这种影响是什么,我需要(从this plugin):

JQuery beforeafter plugin

这个插件仅适用于图像,而不是申报单。我需要对我的div有同样的效果。实际上,我试图使用JQueryUI Resizable class,但我不知道如何同步两个调整大小。

你能帮我吗?任何建议或跟踪有关这将非常感激。谢谢!

回答

3

我创建了使用15线JS/JQ的此功能:http://jsfiddle.net/xSJcz/

希望它能帮助!您可以轻松修改它以响应点击或类似内容。

编辑:对于未来的记载,这里就是答案的CSS:

#left,#right{ 
    border:1px solid #aaa; 
    float:left; 
    height:100px; 
    width:48%; 
} 
#handle{ 
    background:#000; 
    float:left; 
    height:100px; 
    margin:1px; 
    width:1%; 
} 

HTML:

<div id="left"> 
    Left 
</div> 
<div id="handle"></div> 
<div id="right"> 
    Right 
</div> 

JS:

var h = $('#handle'), 
    l = $('#left'), 
    r = $('#right'), 
    w = $('body').width() - 18; 

var isDragging = false; 

h.mousedown(function(e){ 
    isDragging = true; 
    e.preventDefault(); 
}); 
$(document).mouseup(function(){ 
    isDragging = false; 
}).mousemove(function(e){ 
    if(isDragging){ 
     l.css('width', e.pageX); 
     r.css('width', w - e.pageX); 
    } 
}); 
+0

太谢谢你了。这正是我需要的,但为每个div设置最小和最大宽度。我如何修改它以添加此个人配置? – 2011-03-03 13:38:16

+1

修改行* if(isDragging){*检查边界:* if(isDragging && e.pageX w/4){*。你当然可以使用常数值,但是我写了四分之一到左边和两个四分之一的右边。 – Simeon 2011-03-03 13:45:36

+0

太棒了。再次感谢西蒙! – 2011-03-03 14:39:09