如何使用元素的实时宽度同时调整另一个div的大小?

时间:2017-05-31 15:09:06

标签: javascript jquery html jquery-ui-resizable

我有一个特殊的任务,我需要调整另一个div调整大小的实时宽度的div,我想知道如何做到这一点,请参阅小提琴,例如: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代码的原因。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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