3

我有带有滚动条的无序列表 html 标签。基于子选择器,我需要在 jquery 中设置 Scorll Top 值。如果下面的 div 标签不在那里工作正常。如果有 div 标签,那么我无法设置 exate 滚动顶部值。我需要在顶部显示测试 62 。但输出是Test 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 );
});​

关联

4

1 回答 1

2

你应该ul相对定位你的元素:

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

http://jsfiddle.net/dK95e/

于 2012-10-22T13:17:35.727 回答