【问题标题】:jquery ui resiable- How to force to resize within the parent?jquery ui resizable-如何强制在父级中调整大小?
【发布时间】:2018-11-13 11:09:37
【问题描述】:

网页中有三列可调整大小。我需要

  1. 强制列宽不超过父列的宽度
  2. 它们一起必须填充父级的宽度
  3. 只有内部边框必须是可移动的。

因此,如果一列宽度变大,另一列必须变小,反之亦然。

为此,我需要尝试jquery ui resiable 并设置containment: "parent",但是这3 个项目都没有完成。这是代码

    <style>
        .resizable {
            height: 300px;
            border: 1px solid red;
            float: left;
            min-width: 20%;
        }
    </style>
    <div class="container">
        <div class="row justify-content-center">
            <div class="col-md-12">
                <div class="card">
                    <div class="card-header text-right">{{ __('Messages') }}</div>
                    <div class="card-body ">
                        <div id="usersColumn" class="resizable">
                        </div>
                        <div id="messagesColumn" class="resizable"></div>
                        <div id="messageColumn" class="resizable"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <script>
        $(function () {
            $(".resizable").resizable({
                containment: "parent",
            });
        });
    </script>

我该怎么办? 谢谢

【问题讨论】:

    标签: jquery css jquery-ui


    【解决方案1】:

    你需要:

    使用包含选项来指定父 DOM 元素或 jQuery 选择器

    jquery UI - resizable

    $(function() {
      $(".resizable").resizable({
        containment: ".card-body"
      });
    });
    .card-body {
      display: flex;
    }
    
    .resizable {
      height: 300px;
      border: 1px solid red;
      flex: 1 1 auto;
    }
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
    <link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
    
    <div class="container">
      <div class="row justify-content-center">
        <div class="col-md-12">
          <div class="card">
            <div class="card-header text-right">{{ __('Messages') }}</div>
            <div class="card-body ">
              <div id="usersColumn" class="resizable">
              </div>
              <div id="messagesColumn" class="resizable"></div>
              <div id="messageColumn" class="resizable"></div>
            </div>
          </div>
        </div>
      </div>
    </div>

    【讨论】:

    • 很好,但这里有问题,移动右中边框会导致中左边框移动。这一点都不好。如果我将列命名为(1,2,3),则将2 边框向右移动一定会导致3 宽度减小并增加2。但它也减少了1 的宽度。
    猜你喜欢
    • 2019-02-22
    • 1970-01-01
    • 2011-07-02
    • 2012-11-08
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多