※ ChatGPTを利用し、要約された質問です(原文:現在、サムネイル一覧を表示させておいて、そのサムネイルをクリックすると)
エラー:オブジェクトがありません
現在、サムネイル一覧を表示させておいて、そのサムネイルをクリックすると
現在、サムネイル一覧を表示させておいて、そのサムネイルをクリックすると、左側の拡大写真がクリックしたサムネイルのものに切り替わるイメージギャラリーを作成しています。
なぜか、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>