たとえば、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>
質問がややこしくてすみません。
方法をお分かりの方はどなたか教えてください。よろしくお願いします。
No.3ベストアンサー
- 回答日時:
こんな感じでしょうかね。
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
var img = new Array(
"1.gif","2.gif",
"3.gif","4.gif",
"5.gif","6.gif",
"7.gif","8.gif",
"9.gif","10.gif");
function changeImage(id){
var btn = new Array(
document.btn0,
document.btn1,
document.btn2,
document.btn3,
document.btn4);
for (i = 0; i < 5; i++) {
if (id == i) {
btn[i].src = img[i * 2 + 1];
} else {
btn[i].src = img[i * 2];
}
}
}
//-->
</script>
</head>
<body>
<a href="JavaScript:changeImage(0)"><img src="1.gif" name="btn0" border="0"></a>
<a href="JavaScript:changeImage(1)"><img src="3.gif" name="btn1" border="0"></a>
<a href="JavaScript:changeImage(2)"><img src="5.gif" name="btn2" border="0"></a>
<a href="JavaScript:changeImage(3)"><img src="7.gif" name="btn3" border="0"></a>
<a href="JavaScript:changeImage(4)"><img src="9.gif" name="btn4" border="0"></a>
</body>
</html>
この回答への補足
イメージどおりに作ることができて本当に助かりました。実は、左右に区切られたフレームページの左側にこのボタンがあり、ボタンをクリックすると、右側に指定したHTMLファイルを表示させようと思っているのですが、上記のようにボタンを設定した上に、さらにファイルも開く設定をするのは可能なのでしょうか?<a href=~>の前に<A onClick="**.htm" target="main" style = "cursor : pointer>と記述してみるとうまくいくかと試してみたところ、ファイルが開かなかったのですが何が悪いのか原因がお分かりでありましたら、教えて頂けないでしょうか?補足として質問を追加して申し訳ありませんが、よろしくお願いします。
補足日時:2002/08/11 20:11イメージどおりに作ることができました。ありがとうございました。ボタンをクリックすることで別ページにリンクさせることも、色々試していると何とか解決ができました。今後もよろしくお願いします。
No.5
- 回答日時:
補足です。
スクリプトコンポーネントファイル(ChangeImg.htc)は、
ANo.#2で書いたそのままで保存します。
---この下から---
<script language="jscript">
attachEvent("onclick", event_onclick);
function event_onclick()
{
var a;
a = src;
src = value;
value = a;
}
</script>
---この上まで---
><head></head>の間でよかったのでしょうか?
他のタグは不要ですよ。
No.4
- 回答日時:
>スクリプトコンポーネントの入力位置は
><head></head>の間でよかったのでしょうか?
いやいや、別ファイルですよ。
他のページからも流用できるようにコンポーネント化する方法です。
<STYLE>
.ChangeImg{behavior:url(ChangeImg.htc);}
</STYLE>
って記述があるでしょ?
これは classにChangeImgとあるエレメント内では、
スクリプトコンポーネントファイルの
ChangeImg.htcを使ってね。と言う意味です。
ですから、
ChangeImg.htcファイルとして保存してね。
No.2
- 回答日時:
IE限定で
htmファイルは
<HTML>
<head>
<TITLE></TITLE>
<STYLE>
.ChangeImg{behavior:url(ChangeImg.htc);}
</STYLE>
</head>
</HEAD>
<BODY>
<P>
<IMG class=ChangeImg src="1.gif" value="2.gif">
<IMG class=ChangeImg src="3.gif" value="4.gif">
<IMG class=ChangeImg src="5.gif" value="6.gif">
<IMG class=ChangeImg src="7.gif" value="8.gif">
<IMG class=ChangeImg src="9.gif" value="10.gif">
/P>
</BODY>
</HTML>
スクリプトコンポーネント(ChangeImg.htc)は
<script language="jscript">
attachEvent("onclick", event_onclick);
function event_onclick()
{
var a;
a = src;
src = value;
value = a;
}
</script>
こんな感じになります。
この回答への補足
ご回答頂きありがとうございます。上記の方法を試してみたのですが、ボタンをクリックしても何も変化がありませんでした。初心者なので、基礎的なことを聞くようなのですが、スクリプトコンポーネントの入力位置は<head></head>の間でよかったのでしょうか?
補足日時:2002/08/11 20:35スクリプトコンポーネントは別ファイルにするということだったのですね。素人な質問に親切にお答え頂きありがとうございました。とても勉強になりました。今後もよろしくお願いします。
No.1
- 回答日時:
こんな感じはどうですか?
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<TITLE></TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function ig1_onclick() {
if (ig1.src=="img2.gif") {
ig1.src="img1.gif";
} else {
ig1.src="img2.gif";
}
}
function ig2_onclick() {
if (ig2.src=="img3.gif") {
ig1.src="img4.gif";
} else {
ig1.src="img3.gif";
}
}
function ig3_onclick() {
if (ig3.src=="img5.gif") {
ig1.src="img6.gif";
} else {
ig1.src="img5.gif";
}
}
function ig4_onclick() {
if (ig4.src=="img7.gif") {
ig1.src="img8.gif";
} else {
ig1.src="img7.gif";
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<P>
<IMG id=ig1 src="img1.gif" LANGUAGE=javascript onclick="return ig1_onclick()">
<IMG id=ig2 src="img3.gif" LANGUAGE=javascript onclick="return ig2_onclick()">
<IMG id=ig3 src="img5.gif" LANGUAGE=javascript onclick="return ig3_onclick()">
<IMG id=ig4 src="img7.gif" LANGUAGE=javascript onclick="return ig4_onclick()">
</P>
</BODY>
</HTML>
この回答への補足
ご回答頂きましてありがとうございます。上記の方法をそのままコピーして試して見たのですが、私のやり方が悪いのか、1をクリックしたら2には変わるのですが、3をクリックすると4に、5をクリックすると6に、7をクリックすると8に変わらず、3をクリックすると1のボタン部分が3に変わったり、5をクリックすると1のボタン部分が5に変わったり、7をクリックすると1のボタン部分が7に変わったりしてしまい、イメージどおりにならなかったのですが、私のやり方がどこかまずかったのでしょうか?
補足日時:2002/08/11 20:33お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
c++std::string型をTCHARに変換...
-
時間で背景の画像を変更したい...
-
日替わりで画像を変更したい
-
Excel VBA マクロ 画像(...
-
JSPでの画像ファイル表示
-
画面が真っ白になるのはどうして?
-
一定時間で画像を変更するスク...
-
クリックするたびに画像を変える
-
MAX関数を使ってからLEFT JOIN...
-
大量のチェックボックス状態取...
-
eclipseでcssを使うためには?
-
window.openで値の渡し方を教え...
-
jspでcssが読み込めない
-
透過pngの透明部分以外をクリッ...
-
CSS <div>の入れ子が反映さ...
-
jQueryでシンプルドラッグドロ...
-
1枚の画像をクリックすると複数...
-
スタイルシート※max-heightがIE...
-
<div ~ </div> で囲まれたテキ...
-
1枚の画像をクリックして複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c++std::string型をTCHARに変換...
-
画面が真っ白になるのはどうして?
-
JSPでの画像ファイル表示
-
クリックして変更した画像を他...
-
画像をクリックしたら別ウイン...
-
フォームに入力された値により...
-
日替わりで画像を変更したい
-
htmlで、たくさんのgif画像を、...
-
HPで写真をクリックすると次の...
-
2箇所の画像をランダムに複数表示
-
JavaScriptのhistory.back(戻...
-
画像クリックした後別ウィンド...
-
ランダムに画像を表示し、ポッ...
-
Javascriptで画像を水面のよう...
-
イメージマップでのマウスオーバー
-
javascriptで複数の画像をラン...
-
C言語のポインタ表現
-
クリックした自身の画像を別画...
-
クリックするたびに画像を変える
-
画像をクリックすると音が鳴り...
おすすめ情報