• ベストアンサー

この配列は何?

ホームページビルダーでロールオーバーのスクリプトを自動で書き出したものの一部ですが、 理解不能のところがあります。 以下がスクリプト var swImg; swImg=new Array; function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array;//←ここです for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } HpbImgPreload('_HPB_ROLLOVER1', 'rollover_n_image.gif', 'rollover_m_image.gif'); 以下がボディ <BODY> <P><A href="#" id="_HPB_ROLLOVER1" onmouseout="HpbImgSwap('_HPB_ROLLOVER1','rollover_n_image.gif');" onmouseover="HpbImgSwap('_HPB_ROLLOVER1','rollover_m_image.gif');"><IMG border="0" name="_HPB_ROLLOVER1" src="rollover_n_image.gif"></A></P> </BODY> このswImgの配列は[]の中が数値でないようですが、これは特殊な配列ですか? swImg[imgName] = new Array; どなたか初心者にも分かるように説明していただけるとありがたいです。

noname#58390
noname#58390

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

  • ベストアンサー
回答No.1

こんにちは。 JavaScriptでは、配列の添字は数字である必要がありません。宣言や値を設定するときと、それを実際に使うときに同じ値を添字で指定すれば、問題なく動作します。 0からlength-1までの範囲の数字に限る方が、管理しやすいですが、添字に文字列など利用する方がわかりやすいこともあります。 たとえば、3原色を扱う配列RGBを考えた場合、RGB[0]、RGB[1]、RGB[2]の数値を添字として利用するのが分かりやすいか、RGB["red"]、RGB["green"]、RGB["blue"]の文字列を添字として利用するのが分かりやすいか、です。 文字列をキーにしたマップの代わりみたいなものと言えば分かりますでしょうか。 さて、話は元のソースに戻って、 HpbImgPreload('_HPB_ROLLOVER1', 'rollover_n_image.gif', 'rollover_m_image.gif'); の関数呼び出しによって、関数の中では、swImg['_HPB_ROLLOVER1'] = new Array;-(1) となります。 ソースは掲載されていませんが、<A>タグ内でHpbImgSwap('_HPB_ROLLOVER1','rollover_n_image.gif')を呼び出していることから、(1)で生成したswImg['_HPB_ROLLOVER1']を利用しているのでしょう。

noname#58390
質問者

お礼

早速、回答いただきましてありがとうございました。 お陰さまで、なんとなくハッシュみたいなことをしているのかなとイメージできました。 ほかに回答を用意されている方がいらっしゃるかもしれませんので締めは月曜夜くらいにさせていただきますね。

その他の回答 (1)

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

>swImg[imgName] = new Array;//←ここです imgNameの中身が、数値じゃなくてもokなのは、No1の方の説明通り。 配列の要素に、さらに配列を宣言すると2次元配列になります。 1次元目(行)の要素ごとに2次元目(列)をつくれるので、必ずしも列の数が揃ってないものも作れます。 >swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); これは2次元配列の各要素(swImg[][])にデータをいれています。 この方法で、さらに3次元、4次元などの配列も作れます。

noname#58390
質問者

お礼

何となく漠然としていましたが、この回答ですっきりしました。ありがとうございます。

関連するQ&A

  • JavaScriptの記述が長い

    ホームページビルダー11でJavaScriptものの記述がとても長くなっています。HPBが、ホームページビルダーの略だとは思われますが、 この中で削除しても影響のない記述はありますでしょうか? 多少でもサイトの読み込み速度を早くしたいと考えています。 宜しくお願いいたします。 /////////////////////////////////////////////////////////// <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_ROV_50 function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array; for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } function HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } function HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } var swImg; swImg=new Array; ここにはロールオーバー類記載 HpbImgPreload('_HPB_ROLLOVER2', 'banner/618-115.jpg', 'banner/618-115.jpg'); //--> </SCRIPT>

  • JavaScriptを外部ファイルにするとロールオーバーが機能しない

    ホームページビルダー11を使っているのですが、 JavaScriptを外部ファイルにして読み込ませると、ロールオーバー部分の画像のみ切り替わりません。 ////////////////////////////////////////////////// ■外部ファイルの記述内容■ <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_ROV_50 function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array; for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } function HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } function HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } HpbImgPreload('_HPB_ROLLOVER1', 'images/request.gif', 'images/request2.gif'); //--> </SCRIPT> ////////////////////////////////////////////////////// 外部ファイル読み込み時のhtmlタグ <SCRIPT type="text/javascript" scr="images/ファイル名"></SCRIPT> 恐らく、ホームページビルダーの独自性の問題だと思うのですが、 どうすればロールオーバーを機能させることができるでしょうか? 宜しくお願いいたします。

  • JavaScriptの外部書き出しに失敗してしまう

    ホームページ制作初心者のyuniko2525と申します。 ホームページビルダー10で職場のホームページを制作し、マニュアル本「スパテク160」などでSEO対策を始めた のですが、何度試してもJavaScriptの外部書き出しに失敗しスクリプトエラーが出てしまいます。 マニュアル本通り10行目<script language="JavaScript">から最終行の</script>までを 切り取り、メモ帳にテキストでコピー 1行目<script language="JavaScript">と最後の</script>を削除してscript.js と名前をつけて保存 ホームページビルダーのスクリプト編集の「外部ファイルを指定」で保存したものを選んで 更新しているのですがどうしてもエラーが出てしまいます。 下から14行目の</script>まで でも試してみたのですがダメでした。 何かアドバイスを頂けると大変嬉しいです。どうぞ宜しくお願い致します。 <!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-Style-Type" content="text/css"> <TITLE>●</TITLE> <META name="robots" content="all"> <META name="Keyword" contens="●"> <META name="description" contens="●"> <script language="JavaScript"> <!--HPB_SCRIPT_ROV_50 // // Licensed Materials - Property of IBM // 5724I83 // (C) Copyright IBM Corp. 1995, 2005 All Rights Reserved. // // HpbImgPreload: // function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array; for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } // HpbImgFind: // function HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } // HpbImgSwap: // function HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } var swImg; swImg=new Array; //--> </script><script language="JavaScript"> <!--HPB_SCRIPT_PLD_50 HpbImgPreload('_HPB_ROLLOVER2', 'n_image6.gif', 'm_image6.gif'); HpbImgPreload('_HPB_ROLLOVER1', 'n_image14.gif', 'm_image14.gif'); HpbImgPreload('_HPB_ROLLOVER3', 'n_image7.gif', 'm_image7.gif'); HpbImgPreload('_HPB_ROLLOVER4', 'n_image12.gif', 'm_image12.gif'); HpbImgPreload('_HPB_ROLLOVER5', 'n_image10.gif', 'm_image10.gif'); HpbImgPreload('_HPB_ROLLOVER7', 'n_image6.gif', 'm_image6.gif'); HpbImgPreload('_HPB_ROLLOVER9', 'n_image7.gif', 'm_image7.gif'); HpbImgPreload('_HPB_ROLLOVER10', 'n_image12.gif', 'm_image12.gif'); HpbImgPreload('_HPB_ROLLOVER6', 'n_image15.gif', 'm_image15.gif'); HpbImgPreload('_HPB_ROLLOVER8', 'n_image18.gif', 'm_image18.gif'); //--> </script></HEAD>

  • HPB_SCRIPT_ROV_50

    はじめまして、お尋ね致します。 HPB_SCRIPT_ROV_50のjavascriptの記述が長過ぎるので、 外部ファイル化してROV.jsという名前で、indexファイルと同じ場所にで保存しました。 <head>~</head>内には、 <script type="text/javascript" src="ROV.js"></script>と記述しました。 ところがプレビューさせると、HPB_SCRIPT_ROV_50は宣言されていません。 というエラーが発生します。HPBのVer10.0.0.0にて作成。 言葉足らずで恐縮ですが、解決策をご教授下さい。 外部ファイル化したROV.jsの中身は下記の通りです。 HPB_SCRIPT_ROV_50 // // Licensed Materials - Property of IBM // 11P5743 // (C) Copyright IBM Corp. 1998, 2000 All Rights Reserved. // // HpbImgPreload: // function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=(document.layers && (appVer >= 4)); var isIE=(document.all && (appVer >= 4)); if (isNC || isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array; for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } // HpbImgFind: // function HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } // HpbImgSwap: // function HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=(document.layers && (appVer >= 4)); var isIE=(document.all && (appVer >= 4)); if (isNC || isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } var swImg; swImg=new Array; 宜しくお願い致します。

  • ホームページビルダー16のMETAタグの質問

    metaタグのdiscripionの入力はしましたが、ヤフーやグーグルでタイトルの下の文章が、反映されません。前はこの設定をしていなかったので、h1の文章を検索エンジンは拾って表示していました。 keywordの入力もしたのですが、今いち上手くいっているか解りません。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <TITLE>有限会社エムエヌ大和産業-中古建設機械/中古重機/買取・販売・リース(九州/熊本)</TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <META name="GENERATOR" content="JustSystems Homepage Builder Version 16.0.1.0 for Windows"> <META name="description" content="九州・熊本を拠点に全国的に建設機械中古販売・買取・ダブルリースを昭和58年創業以来営業致しております。中古建設機械の中古バケット・中古ブレーカー・中古エキステーションアームも各種多数取り揃えております。まずはお気軽にお問い合わせ下さい。" /> <META name="keywords" content="建設機械,中古建機,中古重機,重機買取,建機販売,レンタル,リース "/> <META name="robots"content="index,follow"> <STYLE type="text/css"></STYLE> <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_ROV_50 // // Licensed Materials - Property of IBM // 5724I83 // (C) Copyright IBM Corp. 1995, 2005 All Rights Reserved. // // HpbImgPreload: // function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array; for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } // HpbImgFind: // function HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } // HpbImgSwap: // function HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } var swImg; swImg=new Array; //--> </SCRIPT><SCRIPT language="JavaScript"> <!--HPB_SCRIPT_PLD_50 HpbImgPreload('_HPB_ROLLOVER1', 'img/n_image161.jpg', 'm_image161'); HpbImgPreload('_HPB_ROLLOVER2', 'img/n_image18.gif', 'img/m_image18.gif'); HpbImgPreload('_HPB_ROLLOVER3', 'img/n_image19.gif', 'img/m_image19.gif'); HpbImgPreload('HPB_ROLLOVER1', 'n_image12.gif', 'm_image12.gif'); HpbImgPreload('HPB_ROLLOVER4', 'n_image16.gif', 'm_image16.gif'); HpbImgPreload('HPB_ROLLOVER6', 'n_image18.gif', 'm_image18.gif'); HpbImgPreload('HPB_ROLLOVER8', 'n_image201.gif', 'm_image201.gif'); HpbImgPreload('HPB_ROLLOVER2', 'n_image22.gif', 'm_image22.gif'); HpbImgPreload('HPB_ROLLOVER3', 'n_image23.gif', 'm_image23.gif'); HpbImgPreload('HPB_ROLLOVER7', 'n_image4.gif', 'm_image4.gif'); HpbImgPreload('HPB_ROLLOVER5', 'n_image11.gif', 'm_image11.gif'); //--> </SCRIPT> <STYLE type="text/css"> <!-- FONT{ line-height : 15px; } #FONT{ line-height : 20px; font-size : 15px; } --> </STYLE> <LINK rel="stylesheet" href="table.css" type="text/css" id="_HPB_TABLE_CSS_ID_"> </HEAD> <BODY background="blue_p8b.gif"style="margin-top : 0px;margin-left : 0px;margin-right : 0px;margin-bottom : 0px;"> <CENTER> <TABLE cellspacing="0" cellpadding="2" bgcolor="#ffffff" style="margin-top : 0px;margin-left : 0px;margin-right : 0px;margin-bottom : 0px;"> <COL span="1" width="11"> <COL span="1" width="880"> <COL span="1" width="11"> <TBODY> <TR> <TH bgcolor="#ffffff"></TH> <TH align="left" valign="middle" style="line-height : 10px;"> <H1 align="ce

  • 空白が1行出来てしまう

    お願いします、どうしても解決できません。 HPの文章と途中で入れたJAVAスクリプトのあいだに1行分どうしても空白が出来てしまいます 同様にスクリプトと次の文章のあいだにも1行空いてしまいます 苦労して独学でタグを打ってせっかくスクリプトを入れたのに・・・ 解決法がありましたらどうかご教授願います BODY {overflow: scroll; overflow-x: hidden;} </style> <SCRIPT language="JavaScript"> function HpbImgPreload() { var appVer=parseInt(navigator.appVersion); var isNC=(document.layers && (appVer >= 4)); // Netscape Navigator 4.0 or later var isIE=(document.all && (appVer >= 4)); // Internet Explorer 4.0 or later if (isNC || isIE) { if (document.images) { var imgName = HpbImgPreload.arguments[0]; var cnt; swImg[imgName] = new Array; for (cnt = 1; cnt < HpbImgPreload.arguments.length; cnt++) { swImg[imgName][HpbImgPreload.arguments[cnt]] = new Image(); swImg[imgName][HpbImgPreload.arguments[cnt]].src = HpbImgPreload.arguments[cnt]; } } } } // HpbImgSwap: 画像を入れ換えます // function HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=(document.layers && (appVer >= 4)); // Netscape Navigator 4.0 or later var isIE=(document.all && (appVer >= 4)); // Internet Explorer 4.0 or later if (isNC || isIE) { if (document.images) { document.images[imgName].src = imgSrc; } } } var swImg; swImg=new Array; HpbImgPreload('_HPB_ROLLOVER1', 'LOGOMINI.gif', 'LOGOBIG.gif'); </SCRIPT> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> </head><body> <p style="BACKGROUND-ATTACHMENT: fixed; BACKGROUND-IMAGE: url(MusicJunkees.gif); BACKGROUND-REPEAT: repeat" align=center> <strong><font face="Orange LET" color=#c5c9b8 size=4> <font face="Academy Engraved LET"> WELCOME TO JOIN ME!<br></font></font> No More WAR No MoreVIOLENCE</font><br></font></font></marquee> <img height="100" alt="LOVE PEACE.GIF"src="LOVE PEACE.GIF" width="100" border="0"> <font face="Smudger LET"><font face="Times New Roman" color="#494949"> <font face="CountryBlueprint,Dutch801 Rm BT,Comic Sans MS">MUSIC JUNKEES! P { margin: 0em; } <p align="center"style="BACKGROUND-IMAGE: url(MusicJunkees.gif); BACKGROUND-REPEAT: repeat" align=center> <A href="#" id="_HPB_ROLLOVER1" onmouseout="HpbImgSwap('_HPB_ROLLOVER1','LOGOMINI.gif');" onmouseover="HpbImgSwap('_HPB_ROLLOVER1','LOGOBIG.gif');"> <IMG src="img0.gif" border="0" name="_HPB_ROLLOVER1"></A></font></font></p></p> <p align="center"style="BACKGROUND-IMAGE: url(MusicJunkees.gif); BACKGROUND-REPEAT: repeat" align=center> <font face="Smudger LET"><font face="Times New Roman" color="#494949"> <font face="Comic Sans MS"size="2">Thank's For</font></font><br>

  • 別フレームの画像の操作について

    画像をクリックすると指定した所にある画像が その画像に変わるというタグを作ったのですが、 1つのフレーム内ではできるのですが 2つのフレームを使って、もう片方にある指定した 画像を変更する事ができなく、色々とサイトを見て みたのですがどうにもうまくいかず、質問させていただきます。 1つ目のフレームののタグは <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_CODE_40 function _HpbImgSwap(imgName, imgSrc) { var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC||isN6||isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = _HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } function _HpbImgFind(doc, imgName) { for (var i=0; i < doc.layers.length; i++) { var img = doc.layers[i].document.images[imgName]; if (!img) img = _HpbImgFind(doc.layers[i], imgName); if (img) return img; } return null; } //--> </SCRIPT> 続きは次のレスに(長くてすいません)

  • java詳しい方宜しくお願いします。

    <!--HPB_SCRIPT_CODE_40 function _HpbShowObj(lId) { var ob;ob=new Array; var appVer=parseInt(navigator.appVersion); var isNC=false,isN6=false,isIE=false; if (document.all && appVer >= 4) isIE=true; else if (document.getElementById && appVer > 4) isN6=true; else if (document.layers && appVer >= 4) isNC=true; if (isNC) { w_str = "document." + lId;ob[lId] = eval(w_str); if (!ob[lId]) ob[lId] = _HpbFindHiddenObj(document, lId); if (ob[lId]) ob[lId].visibility = "show"; } if (isN6) { ob[lId] = document.getElementById(lId); ob[lId].style.visibility = "visible"; } if (isIE) { w_str = "document.all.item(\"" + lId + "\").style";ob[lId] = eval(w_str); ob[lId].visibility = "visible"; } } function _HpbFindHiddenObj(doc, lId) { for (var i=0; i < doc.layers.length; i++) { var w_str = "doc.layers[i].document." + lId; var obj;obj=new Array; obj[lId] = eval(w_str); if (!obj[lId]) obj[lId] = _HpbFindHiddenObj(doc.layers[i], lId); if (obj[lId]) return obj[lId]; } return null; } //--> </script> これは何をするスクリプトでしょうか? ぜひご教授下さいませ。

    • ベストアンサー
    • Java
  • 初めて出たエラー表示。

    いつも拝見しております。 Windows7でホームページビルダー14を使用しています。 月2度ほど更新していますが、今回幾つかの左欄項目の一つを開くと以下の様な文字が、ページの一番上に表示されました。 更新頁は問題なく表示されていますが、これは何のエラーなのでしょうか? 対策方法をよろしくお願いします。 = 4)); // Internet Explorer 4.0 or later if (isNC || isIE) { if (document.images) { var img = document.images[imgName]; if (!img) img = HpbImgFind(document, imgName); if (img) img.src = imgSrc; } } } var swImg; swImg=new Array; //--> 以上です。

  • JavaScript(?)で入替えた画像をクリッカブルマップにする方法

    件名の通り、JSで入替えた画像をクリッカブルマップにしたいのです。一応画像の入替えはコントロールできるようになったのですが、入替え後のイメージを<MAP>制御したいのですが・・・方法がわからない・・・どうか教えて下さい。 ソース(抜粋) <SCRIPT Language="JavaScript"> <!-- function ImgSwap(imgName, imgSrc){ var appVer=parseInt(navigator.appVersion); var isNC=(document.layers && (appVer >= 4)); var isIE=(document.all && (appVer >= 4)); if (isNC || isIE){ if (document.images){ var img = document.images[imgName]; if (!img) img = ImgFind(document, imgName); if (img) img.src = imgSrc; } } } //--></SCRIPT> ・ ・ <TR><TD align="center" valign="top" height="165" background="../img/tv-frame.gif"> <IMG src="../img/off.gif" name="TV" border="0"> </TD></TR> <TR><TD align="center" valign="top"> <FORM><INPUT type="button" value="Top" name="top" onclick="ImgSwap('TV', '../img/top.gif')"><INPUT type="button" value="40's" name="40's" onclick="ImgSwap('TV', '../img/40s.gif')"><INPUT type="button" value="50's" name="50's" onclick="ImgSwap('TV', '../img/40s.gif')"></FORM> </TD></TR> この40sないし50sというGIFに<MAP>制御を施したいのです・・・御指導宜しく御願いします。