javascript - DIV使用垂直滑动动态调整大小

标签 javascript jquery jquery-ui slider

这有点难以解释,但我会尽力而为:

我的网页使用两个 div 进行划分:一个在左侧 float ,另一个在右侧 float (各增加或减少 50%)。

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

也许你不理解我,但这个效果是我需要的(来自this plugin):

JQuery beforeafter plugin

此插件仅适用于图像,不适用于 div。我需要对我的 div 产生同样的效果。实际上,我正在尝试使用 JQueryUI Resizable class但我不知道如何同步这两个调整大小。

你能帮帮我吗?对此有任何建议或跟踪,我们将不胜感激。谢谢!

最佳答案

我使用 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);
    }
});

关于javascript - DIV使用垂直滑动动态调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5180806/

相关文章:

javascript - 在 AngularJS 中添加一个自动执行的匿名函数来扩展 Sir Trevor,同时访问 $

javascript - 如何使用jquery只追加一次数据

javascript - 使用对象而不是字符串进行 "to"时,React-router 重定向错误

javascript - 如何使用 jQuery 解决这个问题

javascript - 使用ajax提交表单来上传文件和其他字段

jQuery 验证不适用于 jQuery UI 对话框

jquery 对话框刷新页面

javascript - Node.js 中的 promise 回调

javascript - jQuery 验证插件 - 删除元素

jquery-ui - JqueryUI Draggable/droppable - 当放置无效时识别放置目标