javascript - JQuery UI 可调整网格大小,根据网格值行为不一致

标签 javascript jquery-ui jquery-ui-resizable

我需要一个可调整大小的栏,可以一直到没有栏。根据我如何设置网格,有时可以,有时不能。我尝试的值是条形初始大小的倍数。

这里是例子

工作: https://jsfiddle.net/dg851voo/

$("#app-interactionAdjustingTheFractionBarsSTART-question-bar-5").resizable({
  handles: 'n',
  grid: [0, 60]
});

不工作: https://jsfiddle.net/xmzj3x54/

$("#app-interactionAdjustingTheFractionBarsSTART-question-bar-5").resizable({
  handles: 'n',
  grid: [0, 20]
});

对于初始条形尺寸的任意倍数,我需要能够一直达到无高度。

最佳答案

我能够使其水平工作,但不能垂直工作。可能是 jQuery 本身的错误?相反,我想出了一个稍微有点老套的解决方案,应该可以完成工作。

基本上,如果您的网格大小为 20,则最小高度似乎为 20px - 即使 minHeight 设置为 0。您将可调整大小的 div 放入换行 div 中,将可调整大小的 div 向下移动20px,然后将换行设置为overflow:hidden。然后,如果您想检索 div 的感知高度,则必须从实际高度中减去 20。下面的例子。

var gridY = 20;

$("#resizable").resizable({
  handles: 'n',
  grid: [0, gridY],
  minHeight: gridY,
  maxHeight: 120,
  resize: function(e, ui){
  	var actualHeight = ui.size.height;
  	var perceivedHeight = actualHeight - gridY;
  	$("p").text(`${perceivedHeight}%`);
    
    // because the height of my div is
    // 100 I dont have to convert it to
    // percentage, but if it was anything
    // other than 100 you would have to 
  }
});
#resizable-wrap{
  width: 100px; 
  height: 100px;
  border: 1px solid #000;
  position: relative;
  overflow: hidden;
}

#resizable {
  position: absolute;
  top: 0;
  left: 25px;

  width: 50px; 
  height: 120px;  

  background-color: #F3EF7D;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>

<div id="resizable-wrap">
<div id="resizable" class="resizableBox"></div>
</div>
<p>100%</p>

关于javascript - JQuery UI 可调整网格大小,根据网格值行为不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45487413/

相关文章:

JQuery UI Resizable with inner jqGrid

javascript - 过滤 ng-options 时,如何取消选择所有过滤掉的选项?

javascript - jQuery UI 可删除的奇怪行为与调整大小的表

javascript - 如何生成 Typescript 输出到正确的目的地?

jquery - 页面重新加载后记住 jQuery 选项卡位置

javascript - 我如何使用 jquery 为元素的阴影设置动画?

javascript - jquery resizable() 不工作(示例)

javascript - 为什么兄弟 div 在调整大小时跳到新行?

javascript - 我正在使用 Angular "Date"过滤器,但这个数字表达式是什么?

javascript - 使用 JavaScript 清除 div 元素