HTML代码如下 -
<div id="myDiv" style="max-height:500px; overflow-y:auto;margin-top: 15px" >
<div id="myInnerDiv" style="display:none;border:1px solid black;">
<span class='myLine' >data1</span>
<span class='myLine' >data2</span>
<span class='myLine' >data3</span>
<span class='myLine' >data4</span>
<span class='myLine' >data5</span>
</div>
</div>
myInnerDiv
的可见性取决于内容。现在,动态添加了类myLine
的行。您可以注意到,如果内容超过overflow-y:auto
,则会提供max-height:500px
,我们会看到滚动条。我希望它只显示最新的5行。所以,如果我们添加
<span class='myLine' >data5</span>
然后
<span class='myLine' >data1</span>
应删除或隐藏。有什么建议吗?
答案 0 :(得分:2)
你可以使用这样的东西。使用此解决方案,您不会丢失“#34;更早”的内容。线。
并且你应该使用div
而不是span
,因为span有display: inline-block
作为标准,因此不会给你一个新的行
<强> //修改 首先隐藏,新的附加
$('.addLine').click(function(){
$('#myInnerDiv').append('<div class="myLine">test</div>');
if($('#myInnerDiv').find('.myLine').length > 5) {
$('#myInnerDiv').find('.myLine').not('.hidden').first().addClass('hidden');
}
});
&#13;
.hidden {
display: none;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myDiv" style="max-height:500px; overflow-y:auto;margin-top: 15px" >
<div id="myInnerDiv" style="display:block;border:1px solid black;">
<div class='myLine' >data1</div>
<div class='myLine' >data2</div>
<div class='myLine' >data3</div>
<div class='myLine' >data4</div>
<div class='myLine' >data5</div>
</div>
</div>
<div class="addLine">add Line </div>
&#13;
答案 1 :(得分:1)
if($('.myLine').length() > 5 ) {
$('.myLine').first().remove();
}
这样的事情。或者你可以在.first()中添加一个新类并隐藏它。
答案 2 :(得分:1)
if($('.myLine').length() > 5 ) {
$('.myLine').first().replaceWith(yourData);
}
答案 3 :(得分:0)
您可以自动将div(myDiv)滚动到底部。
这样最后的值将自动显示。
<script>
$(document).ready(function(){
var objDiv = $('$myDiv');
objDiv.scrollTop = objDiv.scrollHeight;
});
<script>