
教えて!goo内にて、スクロールしても画像もしくは、文字がついてくるJavascriptのコードが下記のようにありました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
function F1() {
v='.pixelTop=';dS='';sD='.style';y='document.body.scrollTop';}
function F2() {
obj='obj1';yy=eval(y);eval(dS+obj+sD+v+yy);setTimeout('F2()',10);}
</script>
</head>
<body onload="F1();F2();">
<div
id='obj1'
style='position:absolute;left:0px; top:0px;'>
ここが動きます。
</div>
<script type="text/javascript">
for(var i=0;i<100;i++){document.write('<br>')}
</script>
</body>
</html>
そこで質問なのですが、DOCTYPEを下記のように変更すると動作しなくなったのですが、この原因が調べてもわかりませんでしたので、どなたか原因がわかる方教えていただけませんでしょうか? 使用ブラウザは、IE6 です。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
↓
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
No.2ベストアンサー
- 回答日時:
<script type="text/javascript">
window.onscroll = function(){
document.getElementById('obj1').style.top = (document.body.scrollTop ||document.documentElement.scrollTop) + 200 + 'px';
}
</script>
で、位置に固定させる事ができます。数字200の部分をobj1のtopと同じにする事で変更可能です。
No.1
- 回答日時:
DOCTYPEで動かなくなるのはScrollTopのとり方の問題です。
document.body.scrollTop
document.documentElement.scrollTop
の2つを用意して、どちらか取れるほうにしておけばよいので、書き換えようと思いましたが、
そのスクリプトではFirefoxでは動かないので
BODYタグの onloadとそのスクリプトを削除して
<script type="text/javascript">
window.onscroll = function(){
document.getElementById('obj1').style.top = (document.body.scrollTop ||document.documentElement.scrollTop) +'px';
}
</script>
でDOCTYPEやブラウザに関係なく動くと思いますが、どうでしょう?
この回答への補足
ありがとうございます。
勉強になりました。
もう一つ教えていただけますでしょうか?
下記の通り、style='position:absolute;top:200px; right:100px; ' を追加し画面の中ほどに画像をおいて、そこから画像をスクロールさせようと思うのですが、スクロールをすると、画像が上部に移動してしまいます。
中央部に固定された状態で下部へ画像がスクロールすることはできますでしょうか?
よろしくお願いします。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<div id='obj1' style='position:absolute;top:200px; right:100px; '>
<img src="a.gif">
</div>
<script type="text/javascript">
for(var i=0;i<100;i++){document.write('<br>')}
</script>
</body>
</html>
<script type="text/javascript">
window.onscroll = function(){
document.getElementById('obj1').style.top = (document.body.scrollTop ||document.documentElement.scrollTop) +'px';
}
</script>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
location.hrefが動かない・・・
-
外部jsからdocument.writeする...
-
javascriptでの大文字小文字の区別
-
動的生成したscriptタグが実行...
-
JavaScriptでテーブルの内容を抽出
-
*.jsをHTMLで読み込んでHTMLに...
-
スクロールしても画像・文字が...
-
特定のURLからの訪問者を入室禁...
-
location.hrefの使用方法について
-
CGIフォーム一定時間過ぎる...
-
document.writeの文字列が実行...
-
Operaにおけるscriptのエスケー...
-
plug-inが無い場合に他のページ...
-
ブロックされるのかされないのか?
-
「javascript」一つのコントロ...
-
外部JavaScriptの書き方
-
ページ内文字列の置換について
-
<a href="#" …>の意味を教えて...
-
Vbscriptで自分自身のウィンド...
-
SQLのWHEREで全てを質問する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ジャバスクリプトが無効になっ...
-
Netscape4.7で。
-
足跡を付けたい
-
ページ内文字列の置換について
-
JavaScript について
-
日付について
-
Cookieの回数で閲覧制限、javas...
-
代入演算子の%=について
-
safari、firefoxでjavascript
-
ブラウザのアドレス欄に
-
始めまして、23歳の事務系OLです。
-
JavaScriptが有効ならA、無効ならB
-
外部javascriptファイルをjavas...
-
結果のなかにさらにjavascript
-
読み込むたびに画像を順番に表...
-
ブラウザを閉じないようにする...
-
javascriptで変数を組み込みたい
-
IEでiframe内のcookieを保持
-
文字の置換について
-
location.hrefが動かない・・・
おすすめ情報