增加div的宽度并不像预期的那样工作

时间:2017-02-22 11:46:23

标签: javascript jquery

我想要实现的是滚动到行尾(右箭头)然后在最后一个元素上选择div停止。在我添加几个虚拟单元格之前,它起作用了。但是现在我决定只增加行div的宽度。

if(!rows[currentRowIndex].reachedEnd)
{
    console.log("increasing ");
    $("#row" + currentRowIndex).width("+=210");
    rows[currentRowIndex].reachedEnd = true;
}

由于某种原因,这不起作用。我甚至试图增加一些更大的数字,但它会跳到一些意想不到的位置,这意味着我不能很好地理解宽度改变后div发生了什么。

工作副本(调整窗口大小以显示客户区中的2个单元格)https://jsfiddle.net/souren/98rddfzp/3/

UPD1:

我甚至尝试过:

$("#row" + currentRowIndex).width($("#row" + currentRowIndex).width() + 210);

同样的结果。

2 个答案:

答案 0 :(得分:0)

jQuery' s width将实际宽度作为参数,不评估表达式。你必须自己这样做。

这是一个有效的例子:



$(function () {
  var $div = $('#myDiv')
  $('#increase').on('click', function () {
    $div.width($div.width() + 250)
  })
})

#myDiv {
  width: 100px;
  height: 100px;
  background-color: blue;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="myDiv"></div>
<button id="increase">Increase</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

尝试按照这个例子,这将解决你的问题::

<强> HTML

<div class="testDiv" style="background-color: grey; width: 100px;">Rana</div>

<强>的jQuery

<script type="text/javascript">
$(document).ready(function () {
    $('button').on('click', function(){
        $(".testDiv").width($(".testDiv").width() + 210);
    });
});
</script>