2

私は基本的に固定幅のDIVを持っており、リストが大きすぎるとDIVの右側にオーバーフローする順序付けられていないリストが内部にあります。基本的には次のようになります。

http://i.imgur.com/Tr36X.jpg

各リストアイテム(基本的に60x60の画像)はクリック可能であり、現在の画像であることを示すために1つが異なる色で強調表示されていることを除いて、同じDIV要素と同じリストアイテムを持つページに移動します。私がやろうとしているのは、現在選択されているもの(class="active"属性を持っているもの)をスクロールするDIVの中央に表示するようにすることです。

http://i.imgur.com/YtF1y.jpg

私が考えることができる唯一の方法は、ページにJavascriptファイルを含めて、どのリストアイテムにclass="active"属性があるかを見つけ、Javascriptを使用してそれに沿ってスクロールすることです。これに伴う問題は、ページが読み込まれるときに最初は正しい位置にスクロールされないことです。ユーザーは、Javascriptが読み込まれて実行されるときに、ページが所定の位置に「ジャンプ」するのを確認します。

Javascriptなしでやりたいことをする方法はありますか?必要に応じて、マークアップとCSSハッカーを少し気にしません。

ありがとう!

4

1 に答える 1

0

これはCSSとHTMLでしか解決できないと思います。DIVの順序が変更されたHTMLを生成できる他の言語(PHPなど)を使用しない限り。

しかし、私はあなたのJavascriptの「ジャンプ」問題を解決することができます。

  1. 最初は、css style = "display:none;"を使用してDIVを表示します。
  2. JavaScript(および必要に応じてDIVの順序を変更するなどの他のもの)を使用してスクロールを実行します。
  3. css style = "display:block;"を設定します

つまり、アイテムはすでにスクロールされた画面に表示されます。

于 2011-08-27T00:48:20.397 に答える