如何像 jsfiddle.net 中那样调整多个相邻文本区域的大小?

2024-01-03

如何像jsfiddle.net网站那样通过在区域1、2和3上拖动鼠标来调整textarea的大小?

我的代码是:

HTML:

<div id="content">
    <fieldset id="LeftPanel">
        <div id="div_A" class="window top">
            A
        </div>
        <div id="div_left" class="handler_horizontal"></div>
        <div id="div_B" class="window bottom">
            B
        </div>
    </fieldset>
    <div id="div_vertical" class="handler_vertical"></div>
    <fieldset id="RightPanel">
        <div id="div_C" class="window top">
            C
        </div>
        <div id="div_right" class="handler_horizontal"></div>
        <div id="div_D" class="window bottom">
            D
        </div>
    </fieldset>
</div>

JS:

$(function () {
    window.onresize = resize;
    resize();
});

function resize() {
    var h = (window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight));
    var divHight = 20 + $("#div_left").height();//20=body padding:10px
    $("#content").css({ "min-height": h - divHight + "px" });
    $("#div_vertical").css({ "height": h - divHight + "px" });
    $("#LeftPanel").css({ "height": h - divHight + "px" });
    $("#RightPanel").css({
        "height": h - divHight + "px",
        "width": $("#content").width() - $("#LeftPanel").width() - $("#div_vertical").width() + "px"
    });
}

CSS:

body {
    background: none repeat scroll 0 0 #EFEFEF;
    overflow: hidden;
    position: relative;
    margin: 0px;
    padding: 10px;
}
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}
fieldset{
    border: 0 none;
}
#LeftPanel
{
    width: 50%;
    float: left;
}
#RightPanel
{
    width: 50%;
    float: right;
}
.handler_vertical {
    cursor: col-resize;
    width: 8px;
    float: left;
}
.handler_horizontal {
    cursor: row-resize;
    height: 8px;
    width: 100%;
    float: left;
}
.window {
    border: 1px solid #ADADAD;
    width: 100%;
    float: left;
}
.top {
    height: 25%;
}
.bottom {
    height: 75%;
}

您还可以从以下位置获取代码:http://jsfiddle.net/xBjnY/ http://jsfiddle.net/xBjnY/


您能检查一下这个解决方案吗:http://jsfiddle.net/xBjnY/9/ http://jsfiddle.net/xBjnY/9/

$(function() {
    window.onresize = resize;
    resize();
});

function resize() {
    var h = (window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight));
    var divHight = 20 + $("#div_left").height(); //20=body padding:10px
    $("#content").css({
        "min-height": h - divHight + "px"
    });
    $("#div_vertical").css({
        "height": h - divHight + "px"
    });
    $("#LeftPanel").css({
        "height": h - divHight + "px"
    });
    $("#RightPanel").css({
        "height": h - divHight + "px",
        "width": $("#content").width() - $("#LeftPanel").width() - $("#div_vertical").width() + "px"
    });
}

jQuery.resizable = function(resizerID, vOrH) {
    jQuery('#' + resizerID).bind("mousedown", function(e) {
        var start = e.pageY;
        if (vOrH == 'v') start = e.pageX;
        jQuery('body').bind("mouseup", function() {
            jQuery('body').unbind("mousemove");
            jQuery('body').unbind("mouseup");

        });
        jQuery('body').bind("mousemove", function(e) {
            var end = e.pageY;
            if (vOrH == 'v') end = e.pageX;
            if (vOrH == 'h') {
                jQuery('#' + resizerID).prev().height(jQuery('#' + resizerID).prev().height() + (end - start));
                jQuery('#' + resizerID).next().height(jQuery('#' + resizerID).next().height() - (end - start));
            }
            else {
                jQuery('#' + resizerID).prev().width(jQuery('#' + resizerID).prev().width() + (end - start));
                jQuery('#' + resizerID).next().width(jQuery('#' + resizerID).next().width() - (end - start));
            }
            start = end;
        });
    });
}

jQuery.resizable('div_vertical', "v");
jQuery.resizable('div_right', "h");
jQuery.resizable('div_left', "h");

这是您正在寻找的吗?有帮助吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何像 jsfiddle.net 中那样调整多个相邻文本区域的大小? 的相关文章

随机推荐

  • Shopify 结账中的脚本标签

    我正在考虑为 Shopify 开发一款应用程序 该应用程序将为商店的结帐页面添加功能 如果用户不必将代码复制并粘贴到文件中 那将是理想的选择 因此我正在考虑使用 ScriptTag API http api shopify com scri
  • 为什么内部调用内的 lapply 与内部调用内的变量赋值不同?

    考虑 notBroken lt within mtcars gear lt as factor gear cyl lt as factor cyl str notBroken 我们的输出 gt str notBroken data fram
  • 将 SQL 中的 CASE 表达式转换为 SSIS 中的派生列 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions CASE WHEN CHARINDE
  • 禁用 Cypress 自动滚动

    我正在测试我的应用程序 我有很长的侧边菜单 并且我有这样的代码 cy get tab click force true 自动滚动发生在获取和单击之间 然后选定的选项卡不可见 因为顶部菜单的位置已固定 我找到了很多解决方案 但没有一个有效 到
  • 如何在 Swift iOS 应用程序中添加 Google Drive API?

    我有一个用 Swift 编写的应用程序 它已经使用了 SwiftyDropbox API 我用 cocoapods 安装了 SwiftyDropbox use frameworks 关键词 现在 当我添加这个 pod 时 Google AP
  • 在 WooCommerce 3+ 中向订单添加自定义字段

    在 WooCommerce 中 我想添加一个新的自定义字段来订单详细信息 现在我可以使用下面的代码创建一个新的自定义字段 referenceNumber 并在其中添加 ordercreated 值 update post meta orde
  • SpriteKit场景切换时的内存问题

    Ok so awhile back in testing I had a random crash with no error and I have no clue why So i went into analyze things and
  • npm 如何/为什么建议不要以 root 身份运行?

    简而言之 首先 为什么npm http npmjs org 建议它只能以非 root 身份运行 我非常不相信其他所有包管理器 apt yum gem pacman 要求 sudo 是错误的 其次 当我遵循他们的建议 并运行npm insta
  • :this 在 Ruby on Rails 中意味着什么?

    我是 Ruby 和 Ruby on Rails 世界的新手 我已经阅读了一些指南 但我在使用以下语法时遇到了一些问题 我认为使用 conditionRuby 中使用语法来定义具有某种访问器的类属性 例如 class Sample attr
  • 将 Flutter 小部件定位到屏幕外

    正如标题所提到的 我试图将我的小部件放置在屏幕之外 目前我已经设法将小部件图像偏移到屏幕之外 但这不是我期望的结果 屏幕外的图像在状态栏上仍然可见 这就是它的样子 这就是我期望的样子 用 adobe XD 设计 Widget build B
  • Rails 3 的 A/B 框架?

    有没有像 ABingo 或 Vanity 这样的东西可以在 Rails 3 中运行 我知道有 Google 网站优化器和可视化网站优化器 但我需要更多的功能来确定显示的内容以及跟踪的内容 而这些功能超出了它们的能力 如果没有 我什至会考虑相
  • 为什么简单的 Dockerfile 给出“权限被拒绝”?

    我正在学习将 Docker 与 ROS 结合使用 我对以下错误消息感到惊讶 FROM ros kinetic robot xenial create non root user ENV USERNAME ros RUN adduser in
  • 如何在 Entity Framework Core 中调用带有多个表联接的存储过程?

    我必须调用一个从多个表中选择记录的存储过程 我已尝试以下代码 但它为实体类以外的其他表中的列返回 null private async Task
  • 子+父参考SQL

    我正在尝试编写一个查询来显示项目的名称和父项目的名称 但到目前为止还没有提供正确的方法 CREATE TABLE project p id NUMBER 6 project name VARCHAR2 30 client id NUMBER
  • 如何使用div代替表格

    我正在尝试创建以下表格布局 但我想使用 DIV 而不是 TABLE CELL1 CELL2 CELL3 我希望所有单元格的高度由其内容设置 即没有高度 样式 我尝试过在 cell1 上使用 float left 但似乎无法让单元格 2 和
  • Mac OS X Java 更新的源代码[重复]

    这个问题在这里已经有答案了 Java for Mac OS X 10 6 Update 3 升级到 java 1 6 0 22 但是 它们不包含源代码或 JavaDoc 有谁知道苹果是否提供了源代码 如果是 在哪里可以找到它 我想将源代码附
  • 增加值并将其设置为 onClick 事件的 var

    我面临着一个非常奇怪的问题 导致感觉就像 无论你如何 首先这是代码 renderImages gt let i 0 const arr https truffle assets imgix net pxqrocxwsjcc 6OcJeUMa
  • MySQL If Date 语句?

    有没有办法通过 mysql 查询返回 true 或 false 我有一张桌子 id start 4 2012 03 01 00 00 00 8 2012 01 20 00 00 00 我也想回来TRUE如果当前日期大于开始日期并且FALSE
  • 有没有办法允许用户提交 html 内容,同时仍然启用模型验证?

    我需要允许用户在其文本输入中提交包含 html 的表单值 这是一个面向内部的应用程序 因此这样做相当安全 我已经成功地使用了 ValidateInput false 有关方法的属性 但这会抑制all对相关方法 视图模型进行模型验证 但我只想
  • 如何像 jsfiddle.net 中那样调整多个相邻文本区域的大小?

    如何像jsfiddle net网站那样通过在区域1 2和3上拖动鼠标来调整textarea的大小 我的代码是 HTML div fieldset div class window top A div div class handler ho