2

順序付けられていないリストには、一度に5つ表示できる多数のリストアイテムがあります。現在選択されているリストアイテムには独自のクラス(「選択済み」)があり、上または下をクリックすると、次のリストアイテムは「選択済み」クラスを取得しますが、前のリストアイテムはそれを失います。「選択された」クラスのリストアイテムがulの表示可能領域から出たときに、スクロールバーも「選択された」アイテムとともにスクロールするようにするにはどうすればよいですか。

マウスでうまくスクロールしますが、上/下ボタンをクリックすると、選択したクラスが変わりますが、スクロールしません。CSSでは、ulはoverflow:autoでスタイル設定されています。オーバーフローを変更しようとしましたが、結果に影響はありません。

ここで問題を編集できます:http://jsfiddle.net/E7MSN/63/ テキストボックスのEnterをクリックすると、ドロップダウンリストが表示されます。次に、キーボードの上/下矢印を使用して、範囲外に到達するまで続行します。スクロールが「選択された」要素に従わないことに注意してください。

4

2 に答える 2

2

スクロール位置scrollTopの上下移動に使用します。ulだからあなたの場合:

$(".services ul").scrollTop($('li').index($(".selected")) * $('.services li').height());

上記のコードで$('li').index($(".selected"))は、現在選択されているli要素の番号を取得します。次に、この数値に各 の高さを掛けますli

更新されたjsFiddle

好みに応じてクリーンアップする必要がある場合があります。

于 2012-07-10T01:21:49.283 に答える
0

試しましたstyle="overflow:scroll"か?

于 2012-07-09T21:16:36.310 に答える