ボタンを押したタイミングで画像を入れ替え、離したタイミングで別ページに遷移する方法について

このQ&Aのポイント
  • ボタンをクリックした際に画像を入れ替える方法について試行錯誤していますが、タイミングが思った通りになりません。
  • 現在、onclickで画像の入れ替えには成功していますが、クリックしている途中ではなく、クリックを離した瞬間に画像が入れ替わってしまいます。
  • さらに、onReleaseが正常に動作せず、画像が入れ替わりません。また、onReleaseの際に画像を元の状態に戻す方法もわかりません。
回答を見る
  • ベストアンサー

ボタンを押したタイミングで画像を入れ替えて、離したタイミングで別ページに飛ばしたい

お世話になっております。 この度、制作しているものが ボタンが三段階で分かれておりまして、 通常→hover→click の三段階に分かれております。 試行錯誤の末、onclickで画像を入れ替えることには成功したのですが、 どうも、思っているのとタイミングが違います・・・。 <img id="myimg1" src="images/g_navi_1_off.gif" onClick=" document.getElementById('myimg1').src='images/g_navi_1_cl.gif';" onRelease="location.href='ダミーURL'"/> としているのですが、 クリックして、離した瞬間に画像が入れ替わってしまったり、 onReleaseが正常に動かず、画像が入れ替わりません・・・。 また、onReleaseの際に、画像を_offの状態に戻したいのですが、 自分の力ではここが限界です…。 どなたかお知恵をお貸しいただければと思います よろしくお願い致します

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

マウスのクリックその他を場合わけして取得したいのであれば、  ・onmousedown :マウスボタンが押された時  ・onmouseup :マウスボタンが離された時  ・onmouseover :マウスカーソルがオブジェクトに乗った時  ・onmouseout :マウスカーソルがオブジェクトから離れた時  ・onmousemove :マウスカーソルが移動した時 などのイベントを利用するのがよろしいかと。 なお、タグ内にスクリプトを書くのであれば onClick="document.getElementById('myimg1').src='images/g_navi_1_cl.gif';"      ↓ onClick="this.src='images/g_navi_1_cl.gif';" などでもいけるはずです。

karita_83
質問者

お礼

どうもありがとうございます。 質問を投げてから、自分であれこれ試していたらできたのですが、 教えていただいた情報も、大変勉強になりました。 this.src 確かにこっちの方が便利ですね。 参考にしていたscriptが、別の画像を入れ替えるものだったため、 あのような書き方になってしまいました・・。 勉強になりました。どうもありがとうございます。

関連するQ&A

  • クリックした自身の画像を別画像に入れ替えて表示

    前回質問したときに、解決したと思いましたが、動きがおかしいので 再質問します。 メニュー欄を画像にて表示し、画像クリックにて対象ページに飛ぶようになっています。 メニューをクリックした時、クリックした自身の画像を別画像に入れ替えて表示させようとしています。 onClick時に自分自身の画像を入れ替えし、リンク先が表示されるまで入れ替えた画像を表示したいのです。 下記のコードだと、クリック時、a_press.gif'は表示されず 何も表示されていない状態(背景画像)が見えてしまいます。 a_press.gif'<a href="http://www.yahoo.com/"> <img src="images/a_on.gif" onmouseover="this.src='images/a_rollover.gif';" onmouseout="this.src='images/a_on.gif';" onclick="this.src='images/a_press.gif'; this.onmouseover=null; this.onmouseout=null;"> </a> どなたかご教示いただけないでしょうか? よろしくお願いします。 IE,Firefox対応希望。

  • 携帯サイト作成:TOPページの画像をアクセスの度に違う画像を表示するには?

    すみません、どなたか教えてください。 携帯サイトを作成しております、 TOPページの画像をアクセスの度に違う画像を表示したいのですが、 こちらのサイトを見ながら ​http://www.sky.sannet.ne.jp/masapine/java_gazou4.html​ やってみました。 <SCRIPT LANGUAGE="JavaScript"> <!-- simg=new Array(5); simg[0]="images/icons1.gif"; simg[1]="images/icons2.gif"; simg[2]="images/icons3.gif"; simg[3]="images/icons5.gif"; simg[4]="images/icons8.gif"; Myimg=Math.floor(5*Math.random()); document.write("<center><img src='"+simg[Myimg]+"'></center>"); //--> </SCRIPT> このソースをBODY区間に張り付ければできるのでしょうか、、 また、  images/icons1.gif  この部分では、gif画像ファイルの位置などを記している様子がないのですが、このgif画像ファイルはどのフォルダに配置すればよいのでしょうか、、 すみません、どなたかわかるかたおりましたら、なにとぞよろしくお願いいたします。

  • JavaScriptでボタンをクリックすると画像が変わる設定をするには?

    たとえば、1.gif - 2.gif , 3.gif - 4.gif,5.gif - 6.gif,7.gif - 8.gif,9.gif - 10.gif の画像をついにしてボタンとして利用するとします。 最初に表示されるボタンは 1.gif , 3.gif ,5.gif , 7.gif , 9.gif の5つです。 JavaScriptで1.gifボタンをクリックしたら、2.gifボタンに画像が変わり、 3.gifボタンをクリックしたら、4.gifボタンに画像が変わるように(残りの画像も同様)したいと 考えています。この時、1.gif , 3.gif ,5.gif , 7.gif , 9.gifのいずれかのボタンがクリックされた 時点で、直前に変更していた 2.gif , 4.gif ,6.gif , 8.gif , 10.gifのいずれかのボタンは最初のボタン の状態に戻したいと考えています。 どのようにJavaScriptを記述すると可能なのでしょうか。 1つのボタンをクリックすると別の画像に変わる方法は色々なHPを参考に↓の記述でなんとかできたのですが、 複数のボタンになるとどのように修正していけばうまくいくのかわかりません。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- imgnum=1; function changeImage(){ if(imgnum==1){ document.myimg.src="2.gif"; imgnum=2; }else if(imgnum==2){ document.myimg.src="1.gif"; imgnum=1; } } // --> </SCRIPT> </HEAD> <BODY> <CENTER> <A href="javascript:changeImage()"><IMG src="1.gif" name="myimg" border=0></A> </CENTER> </BODY> </HTML> 質問がややこしくてすみません。 方法をお分かりの方はどなたか教えてください。よろしくお願いします。

  • 画像をクリックして別の画像を変えたい

    ボタン画像をクリックしたときに同一ページ内にある画像が変わるようにしたいのですが、下のように描くと、ボタン画像(button.gif)自身が2.pngなどの画像に変わってしまいます。   <HTML> <HEAD> <TITLE>スワップイメージ</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function changeImage(imageUrl){ document.images[0].src = imageUrl; } // --> </SCRIPT> </HEAD> <BODY> <A HREF="#" onClick="changeImage('1.png')" ><IMG SRC="button.gif" border="0"></A> <A HREF="#" onClick="changeImage(2.png')" ><IMG SRC="button.gif" border="0"></A> <A HREF="#" onClick="changeImage(3.png')" ><IMG SRC="button.gif" border="0"></A> <TABLE BORDER="0"> <TR> <TD>ボタンを押すと下に画像が表示されます。</TD> </TR> <TR> <TD><IMG SRC="1.png"></TD> </TR> </TABLE> </BODY> </HTML> 原因を私なりに考えたところ、設定した変数mageUrlをボタンを表示させるために使った<img src="button.gif">で受け取ってしまっているというのはわかりました。(確認のため <IMG SRC="1.png"> を<A HREF>~</A>より上に持ってきたら思っていた動きになりました。)  けれどそれからどう修正したらもとの順番でもちゃんと動くのかがわかりません。過去ログの似た質問も拝見したのですが、今の自分では理解できませんでした‥。すみませんがよろしくお願いいたします。

  • onclickで自分自身の画像を変更する

    メニュー欄を画像にて表示し、画像クリックにて対象ページに飛ぶようになっています。 メニューをクリックした時、クリックした自身の画像を別画像に入れ替えて表示させようとしています。 onClick時に自分自身の画像を入れ替えし、リンク先が表示されるまで入れ替えた画像を表示したいのです。 過去トピックで確認したのですが、回答のリンクが切れてしまっていて、確認できませんでした。 1日以上試行錯誤していますが、どうにもうまくいきません。 どなたかご教示いただけないでしょうか? よろしくお願いします。 IE,Firefox対応希望。 下記コードが現在のところです。 <li><a href="http://www.yahoo.com/" onmouseover="document.spp.src='images/a_rollover.gif'" onclick="document.spp.src='images/a_press.gif'" onmouseout="document.spp.src='images/a_on.gif'"> <img src="images/a_on.gif" name="spp"></a></li>

  • 画像クリックで画像変化を1ページに複数表示

    どのJavaScriptサイトにも記載されていなかったので、こちらでお尋ねします。どなたかご存知だったら、教えてください。 changeImageと<a href=""></a>を使って、クリックして画像を変えるっていうのをやっているのですが、同じページでの複数表示のやり方がわかりません。 それと、2つの画像を変化させて、他のアイコンを作ってそこを押すと元の画像に戻るというのは、可能でしょうか? 4つ画像を用意して、2つまでしか画像変化できないようにさせて、取り消しアイコンで元の画像に戻す・・・ということがやりたいのですが。 今はこんな感じの記述ができています。 <SCRIPT type="text/javascript"> function changeImage() { var imgname = document.images[0].name; if(imgname == "01"){ document.images[0].src = "02.gif"; document.images[0].name = "02"; } else { document.images[0].src = "01.gif"; document.images[0].name = "01"; } } </SCRIPT> </head> <body> <a href="JavaScript:changeImage()"> <img src="01.gif" name"01" border=0></a>

  • レイヤーにある画像を変更したいです。

    ボタンを押したらレイヤー内の画像を変更したいのですが 可能でしょうか? レイヤーでなければできるのですが・・ <html> <head> <SCRIPT language=JavaScript> <!-- function a(fishimg){ document.getElementById('layer1').images[0].src = fishimg; } //!---> </SCRIPT> </head> <body> <form name="form1"> <input type="button" onClick="a('fish2.gif')" value="レイヤーの画像を変えます。"> </form> <DIV id="layer1"> <IMG src="fish.gif"> </DIV> </body></html>

  • 画像のハイパーリンクでのonClick

    何度もすみません。 <a href="test.html" target="frame2" onclick="func(this)"><img src="on.gif" border=0 name="images0" onclick="fncChangeBar(0)"></a><br> ハイパーリンクにも画像にもクリックイベントを書いた場合、どちらから実行されるのでしょう? 同時ですか? 優先させたい場合はどのように書いたらよいのでしょう?

  • ある条件の画像のみ表示を切り替える

    jqueryでメニューのように並んでる画像に対してクリックさせるとクリックしたものに対してclass属性にcurrentというものを入れるようにしています。 $("#localSide h2 img").click(function(){ if($(this).attr("class") != "current"){ $("#localSide h2 img").removeClass("current"); $(this).addClass("current"); }else{ return false; } }); そのときにclass="current"となっている画像のみ(<img class="current"~>)にsrcの値を切り替えたいのですがどのような記述をすればいいのでしょうか。 以下のようなイメージです。 <img src="images/menu/bottun_off.gif"> ↓ <img class="current" src="images/menu/bottun_on.gif"> もし、imgにcurrentというclass名を持っていたら、その画像のsrc属性の値の_off.を_on.に差し替えるというようにしたいのですが、その画像の指定がうまくいきません。本当に困ってます。よろしくお願いします。

    • ベストアンサー
    • AJAX
  • ボタンに画像を使えません

    お世話になります。 セレクトボックスでリンクする(ボタン付き) http://www.tagindex.com/javascript/link/select2.html 上記のサイトの「input type="button"」のボタンでリンクすることはできたのですが、 <input type="image" onClick="jump()" src="画像.gif" alt="" width="201" height="46" border="0" onmouseover="this.src='画像_on.gif'" onmouseout="this.src='画像.gif'"> ↑のようにtypeをimageにして画像をボタンに使おうとしますと、 「?select=&x=92&y=33」とURLの末尾に追加されるだけでリンクができません。 上記サイトのjavascriptを「input type="image"」のボタンで使用するには どのようにすればよろしいでしょうか。 よろしくお願いいたします。

専門家に質問してみよう