我有以下標記:問題scrollTop的
<div style="overflow:auto;width:500px;height:100px;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
慕我加入jQuery的一個新的列表項。如何隱藏它(如何滾動div)?我試過UL.scrollTop(nuLI.top);
但它沒有工作。
我有以下標記:問題scrollTop的
<div style="overflow:auto;width:500px;height:100px;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
慕我加入jQuery的一個新的列表項。如何隱藏它(如何滾動div)?我試過UL.scrollTop(nuLI.top);
但它沒有工作。
您需要調用scrollTop()
上溢出的元素,這是<div>
元素,而不是<ul>
元素。此外,您需要通過element.position().top
來獲取top
,並且您需要確保<div>
元素使用position: relative
相對定位,因爲top
與第一個下一個相對父元素相關。
下面是一個SSCCE:
<!doctype html>
<html lang="en">
<head>
<title>SO question 2621792</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
$('#div').scrollTop($('#li3').position().top);
});
</script>
<style>
#div {
position: relative;
overflow: auto;
width: 100px;
height: 50px;
}
</style>
</head>
<body>
<div id="div">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li id="li3">Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
</div>
</body>
</html>
我已經試過@BalusC方法,但滾動會反彈回來,如果它已經達到了底部。然後我想通過在實際的scrollTop保持滾動位置之前插入「.scrollTop(0)」。
$('#div').scrollTop(0).scrollTop($('#li3').position().top);