如何使用jQuery使特定的线或边框或div可调整大小

时间:2018-11-03 16:43:50

标签: javascript jquery html css node.js

嗨,我想让我的div resizable如下图所示

enter image description here

如上图所示,我希望调整未发生的div的大小

codepen: https://codepen.io/anon/pen/bQGYmR

$(function()
{
   $('.band').resizable();
   $('#wrapper').resizable();
});
#wrapper {
    padding-left: 0;
    transition: all 0.5s ease;
    height: 100%;
}
#sidebar-wrapper {
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    width: 210px;
    height: calc(35vh - 6px); /* As you give a border of 3px */
    overflow-y: auto;
    background: rgba(0,0,0,0.9);
    transition: all 0.5s ease;
    border: 3px solid red;
    color:white;
}
.stories-preview-wrapper{
  position: fixed;
  height: calc(65vh - 6px); /* As you give a border of 3px */
  bottom: 0;
  left: 0;
  border: 3px solid green;
  width: 210px;
}
.band{
    position: relative;
    border-top: 1px dotted red;
    padding: 0px;
    margin: 0px;
    height: 2px !important;
    text-align: center;
}
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<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 id="wrapper" class="toggled hidden-xs">
  <!-- Sidebar -->
  <div id="sidebar-wrapper">
    <ul class="sidebar-nav">
      <li>hello world</li>
      <li>hello world</li>
    </ul>
    <div class="band">
              <p><span>Heading</span></p>
    </div>
  </div>
  <div class="stories-preview-wrapper">
    <ul class="sidebar-nav">
      <li>hello world 2</li>
      <li>hello world 2</li>
    </ul>
  </div>
</div>

1 个答案:

答案 0 :(得分:1)

有关其他提示,请参见此updated codepen

首先,您需要在代码中添加jquery-ui.csshttps://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css

第二点:请不要调整band的大小,因为它只是定界符元素。而是在调整大小之前使元素(在这种情况下为sidebar-nav)。为sidebar-nav创建一个包装器,然后调用$('.sidebar-nav-wrapper').resizable();

<div id="sidebar-wrapper">
  <ul class="sidebar-nav">
    <li>hello world</li>
    <li>hello world</li>
  </ul>
  <div class="band"><p><span>Heading</span></p></div>
</div>

第三点:从屏幕截图中不清楚要调整大小的元素。但是,如果将$('#sidebar-wrapper').resizable();从CSS中删除,overflow-y: auto;似乎可以工作。

我认为在此示例中还有很多工作要做,我只是指出了一些可以帮助您入门的事情。