• ベストアンサー

javascript 初心者です 関数について

javascript 初心者です。 下記のスクリプトでmyFunc()の部分に引数をつかって、 function myFunc(arg){ document.arg.src = "pic_b.jpg"; } <p onclick="myFunc('stage')">Bに入れ替え</p> のようにしたいのですが、うまくいきません…。 正しいスクリプトを教えてください。 よろしくお願いします。 <html> <head> <script type="text/javascript"> <!-- function myFunc(){ document.stage.src = "pic_b.jpg"; } --> </script> </head> <body> <p onclick="myFunc()">Bに入れ替え</p> <img src="pic_a.jpg" name="stage"> </body> </html>

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

#1でいけると思いますが、なにか特殊なブラウザなのでしょうか? ちなみにnameはユニークを保証しないので非推奨です。 無理にやるならこんな感じで・・・・ <html> <head> <script type="text/javascript"> function myFunc(arg){ var tags=document.getElementsByTagName("img"); for(var i=0;i<tags.length;i++){ if(tags[i].name==arg) tags[i].src="2.jpg"; } } </script> </head> <body> <p onclick="myFunc('stage')">Bに入れ替え</p> <img src="1.jpg" name="stage"> <img src="1.jpg" name="stagex"> <img src="1.jpg" name="stage"> <img src="1.jpg" name="stagey"> <img src="1.jpg" name="stage"> </body> </html>

shiraito
質問者

お礼

回答有り難うございます。 再度試してみたところ#1でできました。 こちらの不注意で申し訳ないです。 なるほどnameは非推奨なんですね。勉強になります。 参考にさせて頂きます。

その他の回答 (3)

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.4

>ただ、これだとできないみたいです…。 images[arg] の部分を間違えて、images(arg) にしてるとか?

shiraito
質問者

お礼

すみません、先ほどのスクリプトでできました。 教えて頂いたほうは、コピペしたのですが、 onclick="myFunc('stage')"に ' を付けるのを忘れていました…。 不注意で申し訳ないです。再度の回答有り難うございました。

回答No.2

function myFunc(arg){ eval("document."+arg).src = "pic_b.jpg"; } ※詳しく知りたいなら、"javascript eval"で検索してみてください

shiraito
質問者

お礼

こちらのやり方でもできました。 教えて頂き、有り難うございます。

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

function myFunc(arg){ document.images[arg].src = "pic_b.jpg"; } かな。テストしてませんけど。

shiraito
質問者

お礼

回答ありがとうございます。 ただ、これだとできないみたいです…。

関連するQ&A

  • javascript 初心者です

    javascript 初心者です 設定したグローバル変数を引数に指定したいのですが、うまくいきません。 下記のスクリプトのように書いてみたのですが、○が返ってきてしまいます。 どうすればうまくいくでしょうか?よろしくお願いします。 <html> <head> <script type="text/javascript"> <!-- i = false; function myFunc(hensu){ if(hensu){ alert("○"); } else{ alert("×"); } } --> </script> </head> <body> <p onclick="myFunc('i')">[btn]</p> </body> </html>

  • javascript 初心者です 引数と変数について

    下記のスクリプトで○と×交互に表示されるようにしたいのですが、 hensu = !hensu;のところがうまく機能してくれません。 i = !i;だとうまくいくのですが、引数を使いたいです。 どのように記述すればよいのでしょうか? よろしくお願いします。 <html> <head> <script type="text/javascript"> <!-- i = true; function myFunc(hensu){ if(hensu){ alert("○"); } else{ alert("×"); } hensu = !hensu; } --> </script> </head> <body> <p onclick="myFunc(i)">[btn]</p> </body> </html>

  • JavaScript onClick

    JavaScript初心者です。 クリックしたら音が出るようにしたいのですが音がでません。 どなたかご回答よろしくお願いします。 <html> <head> <script language = "JavaScript"> <!-- function sound(name){ document.all.music.src = name; } --> </script> </head> <body> <bgsound src = # id = music autostart = true loop = true> <a href = # onClick = sound("img/oto.mp3")> <img src="img/picture.jpg"> </a> </body> </html>

  • 関数の呼び出し時の引数について(JavaScript)

    function MyFunc(arg1, arg2) { } 上記のようなJavaScript関数で、MyFunc(1, 2)と呼び出さずに MyFunc(1)と呼び出しても、正常に実行されますが(とりあえずIEでは)、 これは保証された動作なのでしょうか? またJavaScriptの関数はオーバーロードを使用できるものと 思ってもよいでしょうか? お願いします。

  • JavaScriptでリクエストを飛ばす方法を教えて下さい。

    下記内容で画像の切り替えを教えて頂いたのですがこれに 画像をクリックした時にサーバー側にクリックした事を分るために URL(リクエスト)をバックグラウンド(非同期かな)で渡したいと 思います。 どうしたら良いでしょうか?? ブラウザーの画面は画像をクリックしても切り替わりません。 誠に恐縮ですが下記ソースに追加して教えて頂ければと思います。 何卒よろしくお願いします。 <html> <head> <script type="text/javascript"><!-- function clickImg( img ) { var arraySrc = img.src.split( '/' ); var src = arraySrc[arraySrc.length - 1]; if( src == "a.jpg" ) { document.cookie = "click=1;"; img.src = "b.jpg"; img.style.cursor = "default"; } } function init() { if( document.cookie ) { var img = document.getElementById( "img1" ); document.getElementById( "img1" ).src = "b.jpg"; img.style.cursor = "default"; } } //--></script> </head> <body onload="init();"> <img src="a.jpg" id="img1" style="cursor:pointer;" onclick="clickImg(this);" /> </body> </html>

  • 関数内でonclickをさせたい

    以下に示すような動作をさせたいのですが、手段はあるでしょうか? ご教示の方よろしくお願いいたします。 <html> <head> <script type="text/javascript"> function test1(){ ここでtest2というリンクをクリックしたことにしたい。 document.getElementById("test2").onclickとか勘でやってみたけどダメでした。 } </script> </head> <body> <img src="hoge.jpg" name="test1" onclick="test1();"> <a href="hoge.html" id="test2">test2</a> </body> </html>

  • Javascript外部リンクの書き方(初心者)

    以下のJavascriptを外部リンクにしたいのですが、記述の仕方が分かりませんので、お教えください。 (引用元:Javascript例文辞典) <html> <head> <title>一定時間ごと画像を入れ替える(複数箇所に異なる画像[規則的なファイル名版])</title> <script language="JavaScript"><!-- count = 0; function changeImg() { count++; count %= 4; document.btn1.src = "a" + count + ".gif"; document.btn2.src = "b" + count + ".gif"; } // --></script> </head> <body onLoad="setInterval('changeImg()',2000)"> <img src="a1.gif" name="btn1"> <img src="b1.gif" name="btn2"> </body> </html>

  • JavaScriptが旨く動きません

    下記のタグをHEAD~/HEADの間にいれたのですが旨く行きません よろしくお願いします <script language="JavaScript"> fad=0; function wipe(img){ fad++; fad%=5; img.filters.blendTrans.Apply(); img.src="t"+fad+".jpg"; img.filters.blendTrans.Play();} </script> BODY~/BODYの間へ入れています <img src="t0.jpg"style="filter:blendTrans(duration=3);width350px; height:350px;"onClick="wipe(this)">

    • 締切済み
    • Mac
  • JavaScriptについて

    サイト作成中なのですが、JavaScriptのところでつまづいています。 ボタンをクリックすると別窓で画像が出てきて表示されるというJavaScriptを作ると、ボタンは表示されていたのですが、ボタンを押しても画像が表示されません。つまり押しても何も反応がありません。 恐らく画像の保存場所が違うのではないかとにらんでみたのですが見当違いかな?? タグは以下の通りです。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> function cl(){ popwin=window.open(",'img','width=150,height=150'); popwin.document.write('<IMG SRC="image3.jpg">'); } </SCRIPT> </BODY> クリックしてください。 <FROM> <INPUT type="button" VALUE="クリック" onClick="cl()"> </FROM> </BODY> </HTML> 私はここの部分で間違えてると思いました。 popwin.document.write('<IMG SRC="***.jpg">'); デスクトップに置いてるmyhomepageにimageというフォルダを置いてそこに画像を保存しています。 その場合、<IMG SRC="image/***.jpg">かなと思い実行してみましたがダメでした。。 JavaScriptのときは何か特別なファルダを作る必要が あるんでしょうか?? JavaScriptに関しては最近はじめたばかりでチンプン カンプンなのでわかりやすく説明していただけるとありがたいです。 ちなみに上記のタグは説明本通り記載しました。 よろしくお願いいたします。

  • javascriptで画像をテーブルに出力する方法

    javascriptで定期的に入れ替えている画像をテーブルに出力(表示)する方法を教えてください。 <html> <head> <script language="JavaScript"><!-- myImageCnt = 4; myImage = new Array( "img0.jpg", "img1.jpg", "img2.jpg", "img3.jpg" ); myNowCnt = 0; function myChange(){ if (myNowCnt == myImageCnt-1){ myNowCnt=0; }else{ myNowCnt++; } document.myFormImg.src = myImage[myNowCnt]; setTimeout( "myChange()" ,5000 ); } // --></script> <img src="img0.jpg" width="200" height="200" name="myFormImg" /> <script language="JavaScript"><!-- myChange(); // --></script> </head> </html>

専門家に質問してみよう