javascriptでのフェードイン
javascriptを使用してhtml上の画像をフェードインにて表示したいと思っております。
ネット上の情報とこちらのサイトでのアドバイスを元に以下のソースを使用しておりますが
WindowsのIE(6&7)で確認すると「エラー:オブジェクトがありません」と表示されてしまいます。
こちらで確認したところjavascript最後の行の「window.onload~」がエラーの原因となっているようなのですが、
修正する記述方法が分からず困っております。
解決策をご存じの方がおられましたらお手数ですが、
ご教授いただけないでしょうか。
何卒、宜しくお願い申し上げます。
///javascript file(fade.js)///
document.write("<style type='text/css'>#thephoto1 {visibility:hidden;}</style>");
document.write("<style type='text/css'>#thephoto2 {visibility:hidden;}</style>");
document.write("<style type='text/css'>#thephoto3 {visibility:hidden;}</style>");
function initImage() {
for(i=1;i<4;i++){
imageId = 'thephoto' + i;
image = document.getElementById(imageId);
setOpacity(image, 0);
image.style.visibility = "visible";
fadeIn(imageId,0);
}
}
function fadeIn(objId,opacity) {
if (document.getElementById) {
obj = document.getElementById(objId);
if (opacity <= 100) {
setOpacity(obj, opacity);
opacity += 25;
window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 100);
}
}
}
function setOpacity(obj, opacity) {
opacity = (opacity == 100)?99.999:opacity;
// IE/Win
obj.style.filter = "alpha(opacity:"+opacity+")";
// Safari<1.2, Konqueror
obj.style.KHTMLOpacity = opacity/100;
// Older Mozilla and Firefox
obj.style.MozOpacity = opacity/100;
// Safari 1.2, newer Firefox and Mozilla, CSS3
obj.style.opacity = opacity/100;
}
window.onload = function() {
initImage()
}
////////////////////////
///html file///
<html>
<head>
<script type="text/javascript" src="fade.js"></script>
</head>
<body>
<img src="img_01.jpg" id="thephoto1" />
<img src="img_02.jpg" id="thephoto2" />
<img src="img_03.jpg" id="thephoto3" />
</body>
</html>
////////////////////////
お礼
ご丁寧に分りやすいご回有難う御座いました! >seo的に有利だというデータも比較したものを見たことがありません。 ↑そうですね、確かにその通りです。 img要素でいきます。 mac版IEは今、「@import'base.css';」と書き換えました。 これですとmacですとIE4、5.0、NN4.0は読み込まないようですのでw winもIE4、5.0は読み込まないようになってしまいますが、4はともかく5もスタイルシート外した状態でいいですよね?^^;