たとえば、
――――――――――――――――
ここを押して→○
――――――――――――――――
と表示されるHTML文章をつくったとします。
そうしたときに、「○」をクリックした後に○の部分だけが「×」に変化するようなものにするためにはどういった文章が必要なのでしょうか??
――――――――――――――――
ここを押して→×
――――――――――――――――
という表示されるHTMLをあらかじめ作って、リンクして置くというのは無しで。。。
最終的には、ある色の■をくりっくすると背景がこの色に変化して、なおかつそのクリックした■の表示だけが×に変化するようにしたいんです。
例でいうと、フォントを赤色にした■をクリックすると、背景が赤色になり、かつ始め赤色だった■が黒フォントの×になる。といったものです。
背景を変える方法はわかっているのですが、■を×にかえる方法がわかりません。
JavaScriptでできるのではないかとおもっているのですが、どうすればいいのですか?
No.3ベストアンサー
- 回答日時:
> この<a href=...></a>のなかに教えてくださった
>
> をいれてみても、変化しません。<a href=...></a>から外にだしてやると変化します。
<a href=...></a>の中に入れてみて変化しないように見えるのは、
文字が切り替わった直後に、aタグにより同じページにジャンプされているからだと思います。
サンプルを作成してみましたので、よかったら参考にしてください。
-----------------------------------------------------------------
<script>
<!--
// 背景色配列
color = new Array();
color[0] = "black";
color[1] = "red";
color[2] = "blue";
function change(colcode,colname) {
// 背景色の変更
document.bgColor = colname;
// 文字の変更(■→×)
for (i=0; i<color.length; i++) {
if (color[i] == colname) {
eval("document.all." + color[i] +"_1.style.display = 'none';");
eval("document.all." + color[i] +"_2.style.display = '';");
} else {
eval("document.all." + color[i] +"_1.style.display = '';");
eval("document.all." + color[i] +"_2.style.display = 'none';");
}
}
}
//-->
</script>
<body>
<span id="black_1">
<a href="javascript:change('#000000','black')"><font color=#000000>■</font></a>
</span>
<span id="black_2" style="display:none;">
<font color=#FFFFFF><b>×</b></font>
</span>
<span id="red_1">
<a href="javascript:change('#FF0000','red')"><font color=#FF0000>■</font></a>
</span>
<span id="red_2" style="display:none;">
<font color=#FFFFFF><b>×</b></font>
</span>
<span id="blue_1">
<a href="javascript:change('#0000FF','blue')"><font color=#0000FF>■</font></a>
</span>
<span id="blue_2" style="display:none;">
<font color=#FFFFFF><b>×</b></font>
</span>
</body>
No.2
- 回答日時:
<script>
function change() {
document.all.a.style.display = 'none'
document.all.b.style.display = '';
}
</script>
ここを押して→ <span id="a" onClick="change()">○</span><span id="b" style="display:none;">×</span>
これでどうでしょう?
IE4以上、N6以上なら対応してます。
この回答への補足
ご回答ありがとうございます。やってみたのですが、
背景を変えるのに、<script>の間に、
<!--
if(location.search == "?black") {
document.bgColor = "#000000";
}
else if(location.search == "?red") {
document.bgColor = "#FFe4e1";
}
else if(location.search == "?white") {
document.bgColor = "#ffffff";
}
//-->
<body>部分に、
<a href="?black" class="lp"><font color=000000>■</font></a>
<a href="?red" class="lp"><font color=ffe4e1>□</font></a>
<a href="?white" class="lp"><font color=000000>□</font></a>
といったように記述していたのですが、この<a href=...></a>のなかに教えてくださった
<span id="a" onClick="change()">
□
</span>
<span id="b" style="display:none;">
×
</span>
をいれてみても、変化しません。<a href=...></a>から外にだしてやると変化します。どうすればいいですか?よろしくお願いしますm(_ _)m
No.1
- 回答日時:
できないことはないですが、ブラウザ限定になりますね。
IE5, NN6以上ならばinnerHTMLを使えば出来ると思います。NN4だとまた別の方法が必要になります。文字よりも、画像を切り替える方が楽ですので、■と×の画像を用意しておいてそれを切り替えるようにすることをお薦めします。画像オブジェクトのsrc属性を書き換えれば画像が変わります。
この回答への補足
はやい回答ありがとうございます!
画像にするとしたら、どういう風に書けばいいですか??
javascriptまるっきり初心者で、しかも手持ちの本にものってないようで・・・よろしくおねがいしますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) こんなことできますか?例えば、sheetに貼り付けた図形のタイトルを、セルA1の文字で表示する。 5 2022/04/22 15:25
- その他(ブラウザ) zoomのバーチャル背景が選べない 4 2022/12/08 12:38
- Windows 95・98 タスクバーの背景の色だけを変えたい。 2 2022/07/13 14:44
- Windows 8 動画の再生とタイトルの変更方法を教えてください。 3 2022/08/01 14:51
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- 写真・ビデオ スマホ(シャープSENSE7-53C)の背景色を変更したい 2 2023/08/09 11:50
- その他(メールソフト・メールサービス) 【GAS】GMail自動送信 2 2022/09/04 06:19
- Android(アンドロイド) 画像に透かしのウォーターマークを追加する方法について 1 2023/06/09 16:43
- Photoshop(フォトショップ) MacでPhotoshopに使い方 教えて! 2 2023/07/08 08:24
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムについて。
-
ジャバスクリプトについて。
-
①入力フォーム→②確認表示画面→③...
-
指定時間になったら、WEBサイト...
-
アップロードファイルの種類に...
-
スマホ上で、左右スワイプで次...
-
jQueryで同じクラス名のものを...
-
jsで質問です。 displayプロパ...
-
【Google Apps Script】「ライ...
-
階層別の組織図の自動作成について
-
特定の文字列を複数抜き出した...
-
セレクトを全て選択されていな...
-
二次元配列の全要素の全要素を...
-
読み込んだQRコードをフォーム...
-
初心者です。gulpでコンパイル...
-
セレクトボックスで配列を呼び...
-
Googleフォームで選択肢に応じ...
-
変数名をどのようにつけるのが...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
HTMLタグに複数のクラスを設定...
-
jsで質問です。 displayプロパ...
-
画面遷移を行わずに同一ページ...
-
Googleフォームで選択肢に応じ...
-
特定の文字列を複数抜き出した...
-
フロントエンドフレームワーク...
-
変数名をどのようにつけるのが...
-
【JS】selectでchangeした時の...
-
React hooksが値を返して配列変...
-
オブジェクトから任意のプロパ...
-
指定時間になったら、WEBサイト...
-
Colorboxがうまく設置できません
-
二次元配列の中の各行の要素を...
-
読み込んだQRコードをフォーム...
-
IndexedDB を使ってファイルア...
-
HTMLで作った時報アプリが動き...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
-
①入力フォーム→②確認表示画面→③...
おすすめ情報