增加div的宽度不能正常工作
问题描述:
我想实现的是当滚动到行的末尾(右箭头),然后在最后一个元素上选择div停止。在添加几个虚拟单元之前,它工作。但现在我决定只是增加一些行的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);
具有相同的结果。
答
jQuery的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>
答
尝试按照这个例子中,这将解决您的问题::
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>
+0
仍然不起作用。我无法通过滚动到达最后一个单元格。 https://jsfiddle.net/souren/98rddfzp/4/ – Pablo
我有打印机.row的宽度之前,我改变宽度,它只显示不亚于我的窗口大小。但我期望获得div的整个宽度,在那里我添加了很多单元格,而且目前不可见。有人可以解释为什么.row宽度只给出可见部分? – Pablo