• ベストアンサー

ページ読み込み時に自動でスクロール

<body>にonloadを記述する方法以外で あるページを読み込んだ時に、自動的にページ最下部へ スクロールさせたいのですが 以下コードを記述してもエラーも起こらず、何も起きませんでした。 <script type="text/javascript" language="javascript"> <!-- window.onload = new function(){ window.scrollBy(0,300) }; window.onload = new function(){ alert("aaa") }; // --> </script> ちなみに、下側のalertは問題なく動作しております。 scrollby以外でのスクロールでもいいので、ご存じの方教えて下さい。 (できれば一瞬でスクロールする方がいいです。)

質問者が選んだベストアンサー

  • ベストアンサー
noname#33813
noname#33813
回答No.3

おそらくscriptの実行タイミングの問題です。 <html> <script> ここに質問のスクリプト </script> <body> 以下HTML本文・・・・ のような記述になっていませんか? だとするとwindow.onloadの実行タイミングがbody部の読み込み前になりますので、 scrollByの実行時点ではbody部がないためスクロールできないのだと思います。 alertを出している時点で、IEの縦スクロールバーがでていなくて alertを閉じると出るとしたらそういうことです。 ためしにbodyのonloadイベントで呼び出してみると上手くいくと思います。

SOU48
質問者

お礼

回答有り難うございます。 なるほど、確かに仰る通り、alertを出している時点では IEの縦スクロールバーがでていなくて alertを閉じると出ています。 なんとかbodyに書く方向でいきたいと思います。 有り難うございました。

その他の回答 (2)

  • KanjiTalk
  • ベストアンサー率30% (7/23)
回答No.2

もちろん、スクロールさせたいということは、 内容が画面に収まっていない状態なんですよね? (ばかばかしい質問をしてすみません) あと、ブラウザは何を使っていますか?

  • KanjiTalk
  • ベストアンサー率30% (7/23)
回答No.1

window.onload = function() { window.scrollBy(0,300); alert("aaa"); } でいいのでは?

SOU48
質問者

補足

回答有り難うございます。 alertの部分は問題なく動きますが、やはりページのスクロールは 実行されません。 どうしてでしょうか? (ちなみにalertはwindow.onload自体の動きを検証するために 記述しただけです。すみません。)