【问题标题】:How to use live width of element to resize another div at the same time?如何使用元素的实时宽度同时调整另一个 div 的大小?
【发布时间】:2017-05-31 15:09:06
【问题描述】:

我有一个特殊的任务,我需要调整一个 div 的大小,而另一个 div 的实时宽度正在调整,我想知道我该怎么做,例如 Fiddle:http://jsfiddle.net/Lindow/x8tdp0kg/14/,(点击一个文本 div 以使句柄出现)。我尝试使用width,但它不适用于我的代码。

Javascript:

$('#handles_manager').resizable({
  handles: {
    'e': '#egrip',
    'w': '#wgrip'
  }
});

function showHandles(e) {
    var width = $(this).width();
    var pos_left = $(this).position().left;
    var post_top = $(this).position().top;
    $('#handles_manager').css({'width':width, 'transform':'translate3d(' + pos_left + 'px, ' + post_top + 'px, 0px)', 'visibility':'visible'});

    var handles_width = $('#handles_manager').width(); // Get live width
    $(this).css({'width': handles_width + 'px !important'});

}

var elements = document.getElementsByClassName('element');
for(var i = 0; i < elements.length; i++) {
    var element= elements[i];
    element.addEventListener('click', showHandles);
}

HTML:

<div id="elements">
  <div class='element' style="transform: translate3d(0px, 0px ,0px)">
    <div class="inner-text">sss ss I'mfdgfdg fdgdfgfdgtryin sjdsaidj sdk dasd k sadopskaf kpsoadk ijfdk jod sadsassads</div>
  </div>

  <div class='element' style="transform: translate3d(0px, 100px ,0px)">
    <div class="inner-text">sss ss I'mfdgfdg fdgdfgfdgskaf kpsoadk ijfdk jod sadsassads</div>
  </div>
</div>

<div id="handles_manager">
  <div id="resize_content"></div>
  <div class="ui-resizable-handle ui-resizable-e" id="egrip"></div>
  <div class="ui-resizable-handle ui-resizable-w" id="wgrip"></div>
</div>

我使用这种方法是有原因的,这就是为什么我没有将句柄直接输入到 html 代码中。

有什么建议吗?

【问题讨论】:

  • getWidth 吗?我很确定你只需要.width()
  • 您能解释一下“我使用这种方法的原因”吗?这听起来像XY problem。在尝试完成您所描述的内容时,CSS 相对值将是我的首选解决方案。
  • @Adrian 我需要尽可能少地编辑#elements中的html。
  • @DanielBeck 已编辑,但无法解决问题
  • 你应该尝试这样的事情:jqueryui.com/resizable/#synchronous-resize

标签: javascript jquery html jquery-ui-resizable


【解决方案1】:

找到了解决方案,我只需要使用$('#...').resize(function(e) {} 就可以进行实时更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-12-31
    • 2013-01-06
    • 2011-03-14
    • 1970-01-01
    • 2014-11-10
    相关资源
    最近更新 更多