如何根据jquery中的子选择器元素位置设置scrollTop值

时间:2012-10-22 13:13:48

标签: jquery css

我用滚动条取消了列表html标记。基于子选择器我需要在jquery中设置Scorll Top值。如果这下面的div标签不能正常工作。如果div标签在那里,那么我无法设置exate滚动顶部值。我需要在顶部显示测试62 。但是输出就是测试82

<div style="height: 180px;"></div>
<ul id="ulScrollTopTest" style="height: 40px; overflow: auto;">
    <li data-id="1">Test 1</li>
    <li data-id="2">Test 2</li>
    <li data-id="3">Test 3</li>
    <li data-id="4">Test 4</li>
    <li data-id="60">Test 60</li>
    <li data-id="61">Test 61</li>
    <li data-id="62">Test 62</li>
    <li data-id="63">Test 63</li>
    <li data-id="81">Test 81</li>
    <li data-id="82">Test 82</li>
    <li data-id="83">Test 83</li>
    <li data-id="84">Test 84</li>
</ul>​

$(document).ready(function () {
    var scrollTopValue = 56;
    scrollTopValue = $('#ulScrollTopTest').find('[data-id="62"]').position().top;
    $('#ulScrollTopTest').scrollTop(scrollTopValue );
});​

Link

1 个答案:

答案 0 :(得分:2)

您应该相对定位ul元素:

<ul id="ulScrollTopTest" style="height: 40px; overflow: auto; position: relative">

http://jsfiddle.net/dK95e/