• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エラーが出ます。)

マウスイベントのjavascriptでエラーが発生する

tamaCoの回答

  • ベストアンサー
  • tamaCo
  • ベストアンサー率66% (47/71)
回答No.1

以下ではどうでしょうか? > <A onmouseover="chImg(document.ar01,'img/icon.gif')" onclick="chImg(document.ar01, 'img/arrow_f.gif')" href="main.html" TARGET="main">ABC</A> <a href="main.html" target="main" onMouseOver="JavaScript:chImg('document.ar01','img/icon.gif');" onClick="JavaScript:chImg('document.ar01', 'img/arrow_f.gif');">ABC</a> > function chImg(img_a,img_b) {img_a.src = img_b;} function chImg(img_a,img_b) {eval(img_a).src = img_b;} おそらくパラメータの「document.ar01」がオブジェクトとして認識されて いないのでは。。そんな時には「eval」関数が使えます。 evalは文字列を式として評価します。詳しい説明は以下を参考になさってください。 http://www.openspc2.org/JavaScript/ref/convert/eval.htm # 動作確認してません。動かなかったらごめんなさい。

参考URL:
http://www.openspc2.org/JavaScript/ref/convert/eval.htm
ya-ya-
質問者

お礼

ありがとうございました!! エラーも出ることなく 正常に稼動しました!!

関連するQ&A

  • IE5でonmouseoverがうまく行きません。

    画像にマウスが触れた時にその画像を 替えたいのですが,NNではうまく行き, IE5では画像は変化せずうまく行きません。 IE5は次のエラーメッセージがでます。 ページでエラーが発生しました。 -> オブジェクトを指定してください。 よろしくお願いします。 <HTML><HEAD><title></title> <script language="javascript"> <!--- img = new Array(); for (i = 0; i <= 1; i++) {  imag[i] = new Image() ;  imag[i].src = "on_" + i + ".gif"; } function On(n) {   document.images['menu'+n].src = imag[n].src; } function Off(n) {   document.images['menu'+n].src = "off_" + n + ".gif"; } //---> </script></head> <BODY> <a href="xxx.html" TARGET="MAIN" onMouseOver="On(0)" onMouseOut="Off(0)"> <img src="off_0.gif" name="menu0" border="0"></a> <a href="yyy.html" TARGET="MAIN" onMouseOver="On(1)" onMouseOut="Off(1)"> <img src="off_1.gif" name="menu1" border="0"></a> </BODY></HTML>

  • ・JAVASCRIPTを使って、ホームページを作成しています。

    ・JAVASCRIPTを使って、ホームページを作成しています。 ・ JAVAを使って、ホームページを作成しています。 ・メニューのボタンに、マウスオーバーでボタンの画像を切り替える <!-- loadImage = new Image(); loadImage.src = "profile.gif"; // --> ・と同時に任意の画像を切り替える // ポイント時の処理 function On(name) { if (document.images) { document.images['def'].src = eval(name + '.src'); } } // 放した時の処理 function Off() { if (document.images) { document.images['def'].src = img0.src; } } // --> ・というscriptを同時に使いたいのですが、どちらかだけになってしまったり、どちらも作動しません。 ・一つのボタンに2つのJAVAを使う場合何か特別な入力が必要なのでしょうか? ・それとも、ただ単純にボタンのタグが誤っているのでしょうか? ・どなたかご教授お願い致します。 ・ちなみにタグを全て載せると、 <SCRIPT Language="JavaScript"> <!-- loadImage = new Image(); loadImage.src = "bbs.gif"; // --> </SCRIPT> <script type="text/javascript"> <!-- if (document.images) { // 設定開始(使用する画像を設定してください) // 通常の画像 var img0 = new Image(); img0.src = "topic4.jpg"; // ポイント時の画像1 var img1 = new Image(); img1.src = "topic4.jpg"; // 設定終了 } // ポイント時の処理 function On(name) { if (document.images) { document.images['def'].src = eval(name + '.src'); } } // 放した時の処理 function Off() { if (document.images) { document.images['def'].src = img0.src; } } // --> </script> とボタンのタグが、 <A HREF="../usatop.html"onMouseOver="On('img2')" "if(document.images) "myImage.src='bbs2.gif'" "onMouseOut="Off()""if(document.images) "myImage.src='bbs.gif'"><IMG SRC="bbs.gif" BORDER="0" name="myImage"></A> ・となっております。 ・よろしくお願いします!

  • java scriptでのロールオーバーで現在地表示する方法について教えてください。

    課題でサイトを作っていて、メニューにjava scriptでのロールオーバーを使用したいと考えています。 ロールオーバーまでは本や他のサイトさんを見たりして↓まで何とかできたのですが、 現在地がわかるように、そのページにいるときはそのボタンがマウスオーバーした状態のままにする方法がわからず途方に暮れております。 説明がわかりにくくて申し訳ありません; もし分かる方がいらっしゃいましたらお願い致します! <script language="javascript"><!-- btnImgOut = new Image(); btnImgOut.src = "img/01.gif"; btnImgOver = new Image(); btnImgOver.src = "img/01-over.gif"; function btnMouseOut(){ document.btnFormImg.src = btnImgOut.src; } function btnMouseOver(){ document.btnFormImg.src = btnImgOver.src; } //--></script> <a href="test.html" onMouseOver="btnMouseOver()" onMouseOut="btnMouseOut()"> <img border="0" name="btnFormImg" src="img/01.gif" /></a>

  • なぜ「ページでエラーが発生しました。」?

    字数が限られているので、「なぜエラーなのですか?」 -----ここからhead区間 <!--JavaScript Function window.onerror = null; var ver4 = (navigator.appVersion.charAt(0) >= "4"); var NN4 = ver4 && (navigator.appName.charAt(0) == "N"); var IE4 = ver4 && (navigator.appName.charAt(0) == "M"); var NN3 = ((navigator.appVersion.charAt(0) == "3") && (navigator.appName.charAt(0) == "N")); if(NN3 || NN4 || IE4){ var img_b = new Array(); img_b[0] = new Image(); img_b[0].src = "kbw.jpg" img_b[1] = new Image(); img_b[1].src = "ao.jpg" img_b[2] = new Image(); img_b[2].src = "bcw.jpg" img_b[3] = new Image(); img_b[3].src = "sm.gif" } function B_in(nam,num){ if(NN3 || NN4 || IE4) document.images[nam].src = img_b[num].src; } function B_out(nam,num){ if(NN3 || NN4 || IE4) document.images[nam].src = img_b[num].src; return false; } // END ---> </SCRIPT> </head> -----ここからbody <BODY onLoad="time(0)"> <SCRIPT LANGUAGE="JavaScript"> <!--- ここから表示 document.write(TodayIMG(0)); //end ---> </SCRIPT>

  • マウスオーバー・アウトの制御のソース

    複数のボタンでマウスオーバー・アウトの制御のソースを教えてもらったのですが、質問いたします。 この場合、このボタンはオーバーとアウト、それぞれ同じ画像を使用しているのですが、その場合でも全部違ったファイル名をつけなければいけないのでしょうか? 現在はそあしているのですが、何か無駄な気がして・・・。 よしくお願いします。 <SCRIPT LANGUAGE = "JavaScript"> <!-- if (document.images) { //if image object is available img1on = new Image(); // MouseOver Images img1on.src = "images/c1b.gif"; img2on = new Image(); img2on.src = "images/c2b.gif"; img3on = new Image(); img3on.src = "images/c3b.gif"; img1off = new Image(); // MouseOut Images img1off.src = "images/c1a.gif"; img2off = new Image(); img2off.src = "images/c2a.gif"; img3off = new Image(); img3off.src = "images/c3a.gif"; img4off = new Image(); } function imgOn(imgName) { if (document.images) { document[imgName].src = eval(imgName + "on.src"); }}   function imgOff(imgName) { if (document.images) { document[imgName].src = eval(imgName + "off.src"); }} //--> </SCRIPT>

  • ・JAVAを使って、ホームページを作成しています。

    ・JAVAを使って、ホームページを作成しています。 ・メニューのボタンに、マウスオーバーでボタンの画像を切り替える <!-- loadImage = new Image(); loadImage.src = "profile.gif"; // --> ・と同時に任意の画像を切り替える // ポイント時の処理 function On(name) { if (document.images) { document.images['def'].src = eval(name + '.src'); } } // 放した時の処理 function Off() { if (document.images) { document.images['def'].src = img0.src; } } // --> ・というscriptを同時に使いたいのですが、どちらかだけになってしまったり、どちらも作動しません。 ・一つのボタンに2つのJAVAを使う場合何か特別な入力が必要なのでしょうか? ・それとも、ただ単純にボタンのタグが誤っているのでしょうか? ・どなたかご教授お願い致します。 ・ちなみにタグを全て載せると、 <SCRIPT Language="JavaScript"> <!-- loadImage = new Image(); loadImage.src = "bbs.gif"; // --> </SCRIPT> <script type="text/javascript"> <!-- if (document.images) { // 設定開始(使用する画像を設定してください) // 通常の画像 var img0 = new Image(); img0.src = "topic4.jpg"; // ポイント時の画像1 var img1 = new Image(); img1.src = "topic4.jpg"; // 設定終了 } // ポイント時の処理 function On(name) { if (document.images) { document.images['def'].src = eval(name + '.src'); } } // 放した時の処理 function Off() { if (document.images) { document.images['def'].src = img0.src; } } // --> </script> とボタンのタグが、 <A HREF="../usatop.html"onMouseOver="On('img2')" "if(document.images) "myImage.src='bbs2.gif'" "onMouseOut="Off()""if(document.images) "myImage.src='bbs.gif'"><IMG SRC="bbs.gif" BORDER="0" name="myImage"></A> ・となっております。 ・よろしくお願いします!

    • ベストアンサー
    • Java
  • 画像を変えるスクリプト

    <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- img=new Array(); for(i=1;i<=4;i++){ img[i]=new Image(); img[i].src="img"+i+".gif"; } function changeImage(i,j){ document.images[i].src=img[j].src; } // --> </SCRIPT> </HEAD> <BODY> <CENTER> <A href="#" onMouseOver="changeImage(0,2)" onMouseOut="changeImage(0,1)"><IMG src="img1.gif" border=0></A><BR> <BR> <A href="#" onMouseOver="changeImage(1,4)" onMouseOut="changeImage(1,3)"><IMG src="img3.gif" border=0></A> </CENTER> </BODY> </HTML> マウスオーバーしたら画像が変わるスクリプトです。 質問ですがこのスクリプトでどうしてオブジェクトを作っているのでしょうか? 普通にsrcプロパティを変更するだけではだめなのでしょうか?例えばdocument.images[i].src="img"+j+".gif"のようにしてiとjを変えるような 感じです。

  • scriptを2つ動かすために

    ライトボックスと、時間が経つとNEWマークが自動で消えるスクリプトを2ついれました。 すると、NEWマークの方だけが稼動して、ライトボックスが動きません。 自分で調べた結果、統合しないといけないというのはわかったのですが、やり方が…。。。 お力ください!(>_<) <!-- NEWマーク▼ --> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.newmark.js"></script> <script type="text/javascript"> /* <![CDATA[ */ $(document).ready(function(){ $(".newmark").newmark({ past: 240, icon: "<img src='images/new.gif' alt='new'>" }); }); $(document).ready(function(){ $(".newmark2").newmark({ past: 240, icon: "<img src='img/new2.gif' alt='new'>" }); }); /* ]]> */ </script> <!-- NEWマーク▲ --> <!-- #header ライトボックス --> <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" /> <script src="js/prototype.js" type="text/javascript"></script> <script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script> <script src="js/lightbox.js" type="text/javascript"></script> <style type="text/css"><!-- #outerImageContainer { -moz-border-radius-topleft:10px; -moz-border-radius-topright:10px; } #imageDataContainer { -moz-border-radius-bottomleft:10px; -moz-border-radius-bottomright:10px; } --></style> <style type="text/css"> a:link {text-decoration:none;} a:visited {text-decoration:none;} a:active {text-decoration:none;} a:hover {text-decoration:none;} </style> <!-- #header ライトボックス -->

  • 画像をオンマウスで変えるスクリプトについて教えてください。

    お世話になります。 以下のJavaScriptを外部のjsファイルにしたいです。 「その1」にオンマウスすると、default.gifがaaa.gifに、 「その2」にオンマウスすると、default.gifがbbb.gifに 表示が変わります。 HTMLを極力綺麗にしたいのですが、外部にすることは可能でしょうか? これとまったく同じ動作ができるスクリプトでも構いません。 ご存知の方がいらっしゃったら、教えていただきたいです。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <title>ロールオーバー</title> <SCRIPT language="JavaScript"> <!-- image = new Array(); image[0] = new Image(); image[0].src = "default.gif"; image[1] = new Image(); image[1].src = "aaa.gif"; image[2] = new Image(); image[2].src = "bbb.gif"; function Img_2(n){ if(document.images){ document.first.src=image[n-1].src; } } --> </SCRIPT> </head> <body> <img src="default.gif" name="first" /> <ul> <li><a href="#" onMouseOver="JavaScript:Img_2(2);document.myFORM.myMSG.value=''" onMouseOut="JavaScript:Img_2(2);document.myFORM.myMSG.value=''">その1</a></li> <li><a href="#" onMouseOver="JavaScript:Img_2(3);document.myFORM.myMSG.value=''" onMouseOut="JavaScript:Img_2(3);document.myFORM.myMSG.value=''">その2</a></li> </ul> </body> </html>

  • slide showについて

    下記に書かれているスクリプトの中の"konpira.gif"と"konpira1.gif"の画像がスライドされません。なぜでしょうか?教えてください。 <head> <script language="JavaScript"> var img = 1; fileName = new Array("goshikihama1.gif","suisen1.gif","sumotojou.gif","narutokouen.gif","konpira.gif","konpira1.gif"); function img_chg(){ document.IMG_A.src = fileName[img]; img++; if(img>3)img = 0; } </script> </head> <body> <center> <img src="hotel.gif" name="IMG_A"> <br> <br> <input type="button" value="NEXT" onclick="img_chg()"> </center> </body>