こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

現在、サムネイル一覧を表示させておいて、そのサムネイルをクリックすると

現在、サムネイル一覧を表示させておいて、そのサムネイルをクリックすると、左側の拡大写真がクリックしたサムネイルのものに切り替わるイメージギャラリーを作成しています。
なぜか、IE6でのみで「エラー:オブジェクトがありません」となります。エラーは「if(description.firstChild.nodeType == 3){ 」の部分で発生しています。
どうも原因が分らずに困っています。
何か分る方がいらっしゃれば、ソースを以下にのせておくので、アドバイスを頂けないでしょうか?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
function prepareGallery(){
if(!document.getElementsByTagName || !document.getElementById) return false;
if(!document.getElementById("imagegallery")) return false;
var gallery = document.getElementById("imagegallery");
var links = gallery.getElementsByTagName("a");
for(var i=0; i<links.length; i++){
links[i].onclick = function(){
return showPic(this);
}
}
}
function showPic(whichpic){
if(!document.getElementById("placeholder")) return true;
var source = whichpic.getAttribute("href");
var placeholder = document.getElementById("placeholder");
if(placeholder.nodeName != "IMG") return true;
placeholder.setAttribute("src",source);
if(!document.getElementById("description")) return false;
var text = whichpic.getAttribute("title") ? whichpic.getAttribute("title"):"";
var description = document.getElementById("description");
if(description.firstChild.nodeType == 3){
description.firstChild.nodeValue = text;
}
return false;
}
function addLoadEvent(func){
var oldonload = window.onload;
if(typeof window.onload != 'function'){
window.onload = func;
}else{
window.onload = function(){
oldonload();
func();
}
}
}
addLoadEvent(prepareGallery);
</script>
</head>
<body>
<div class="Area03_l">
<img src="sample01.jpg" id="placeholder" alt="サンプル01"><br>
<div id="description">サンプル01</div>
</div>
<table border="0" cellspacing="3" cellpadding="0" class="photo_table" id="imagegallery">
<tr>
<td><a href="sample01.jpg" title="サンプル01"><img src="sample01_thum.jpg" alt="サンプル01"></a></td>
<td><a href="sample02.jpg" title="サンプル02"><img src="sample02_thum.jpg" alt="サンプル02"></a></td>
</tr>
</table>
</body></html>

投稿日時 - 2010-04-19 17:38:20

QNo.5837165

すぐに回答ほしいです

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

こんにちは

scriptの開始タグがないのですが・・・。
まぁ、それは置いておいて、
当方IE6でやってみましたが、エラーにならなかったです。
(scriptの開始タグはこちらで付け足しました)
このソース以外で問題点があるのではないかと思われます・・・。

投稿日時 - 2010-04-19 18:21:16

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問