3

スクロールバー付きの順序付けされていないリストhtmlタグがあります。子セレクターに基づいて、jquery で Scorll Top 値を設定する必要があります。この下のdivタグが正常に機能していない場合。divタグがある場合、exateスクロールトップの値を設定できません。Test 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 に答える