0

セクション 1 と 2 にジャンプすると、すべて正常に動作し、テストしたブラウザー (IE8、FF3.6、Chrome 5.0.342.3) は、div 内のそれぞれのアンカーまで下にスクロールします。しかし、ブラウザの履歴の戻るボタンを押しても、div はスクロールアップしません。

javascript を使用せずにこれを機能させる方法はありますか?

<div id="scrolldiv" style="overflow:auto; width:500px; height:500px; border:2px solid #e1e1e1; "> 
<a href="#link1">Jump to section 1</a> <br />
<a href="#link2">Jump to section 2</a> <br />

<h1 id="link1" name="link1">Section 1</h1> 
<p>lots of text<br />lots of text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></p> 

<h1 id="link2" name="link2">Section 2</h1> 
<p>lots of text<br />lots of text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></p> 

4

1 に答える 1

1

/pagename.htm#topofpageページの上部にアンカーがある場所にリンクしてみてください。あなたがそのページに提供したリンクをクリックせずにあなたのページにたどり着いた人は誰でも効果を得ることができませんが/pagename.htm#topofpage、私が思うに(テストされていません)、ブラウザの履歴に位置に敏感な追加を得るはずです.

また、ごくわずかなJavaScript を使用して、ページが最初に読み込まれたときにそのハッシュにアクセスできるようにする必要があり/pagename.htmます/pagename.htm#topofpage。挿入するだけです:

<script type="text/javascript" language="javascript">
  location.hash = "#topofpage";
</script>

理論的には、誰かが最初にページにアクセスするとスクリプトが実行され、#topofpage に配置され、その後更新しない限り実行されないというものです。

于 2010-03-17T07:43:02.380 に答える