DOCTYPEでjavascriptの挙動が変わるなんて

実験的に書いていたスクロールいじり系のスクリプトが、アプリケーションに組み込んだ途端に動かなくなった。scrollTopの値が常に0になる。むむぅ。

ハマりそうになって調べたら、どうもDOCTYPEによって、scrollTopの参照の仕方を変えないといけないとのこと。DOCTYPEの変更でjavascriptの挙動まで変わるとは思わなかった。理屈を言われれば道理が通るけど、しかしこれは反応できないッス…。

DOCTYPEを指定しない場合は、

document.body.scrollTop

DOCTYPEを指定する場合は、

document.documentElement.scrollTop

これで値を取得しないと、正しく参照できないと。他にもこの手のプロパティは同じような動作するんだろうなあ。覚えておかないと、ハマりそう。

参考:ブラウザのスクロール量を取得するには?

このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt4/mt-tb.cgi/392





最新エントリー
転職しました
coLinuxで複数環境を作る
MySQLで実行中のSQLをキャンセルする
javascriptで簡単に経過ミリ秒を取得する方法
IFRAME では src 属性を必ず指定した方が良いわけ
Eclipse3.4 で javadoc を生成する
tomcat6.0.18 のEL不具合
PostgreSQLでMONTHS_BETWEEN
VB.NETでコンソール非表示のバッチアプリを作る
Enum Factory Pattern
あわせて読みたいブログパーツ