- ベストアンサー
ページ読み込み時に自動でスクロール
<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以外でのスクロールでもいいので、ご存じの方教えて下さい。 (できれば一瞬でスクロールする方がいいです。)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
おそらくscriptの実行タイミングの問題です。 <html> <script> ここに質問のスクリプト </script> <body> 以下HTML本文・・・・ のような記述になっていませんか? だとするとwindow.onloadの実行タイミングがbody部の読み込み前になりますので、 scrollByの実行時点ではbody部がないためスクロールできないのだと思います。 alertを出している時点で、IEの縦スクロールバーがでていなくて alertを閉じると出るとしたらそういうことです。 ためしにbodyのonloadイベントで呼び出してみると上手くいくと思います。
その他の回答 (2)
- KanjiTalk
- ベストアンサー率30% (7/23)
もちろん、スクロールさせたいということは、 内容が画面に収まっていない状態なんですよね? (ばかばかしい質問をしてすみません) あと、ブラウザは何を使っていますか?
- KanjiTalk
- ベストアンサー率30% (7/23)
window.onload = function() { window.scrollBy(0,300); alert("aaa"); } でいいのでは?
補足
回答有り難うございます。 alertの部分は問題なく動きますが、やはりページのスクロールは 実行されません。 どうしてでしょうか? (ちなみにalertはwindow.onload自体の動きを検証するために 記述しただけです。すみません。)
お礼
回答有り難うございます。 なるほど、確かに仰る通り、alertを出している時点では IEの縦スクロールバーがでていなくて alertを閉じると出ています。 なんとかbodyに書く方向でいきたいと思います。 有り難うございました。