- ベストアンサー
文字を交互に変化させたいのですが…
文字変化タグについて質問があります。 クリックすると文字が変わる、というタグは分かるのですが (<span onClick="this.innerText='文字2'">文字1</span>) クリックして文字2に変わった後、もう一度クリックすると文字1に戻るというのは不可能でしょうか? 1、2、1、2とエンドレスで変わるようにしたいのですが… 分かる方いらっしゃったら教えていただけると嬉しいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
innerTextはIEしか反応しないのでinnerHTMLでどうでしょう? また、関数化したほうがすっきりするかもれない。 <span onClick="this.innerHTML=this.innerHTML=='文字1'?'文字2':'文字1';">文字1</span>
その他の回答 (2)
- himajin100000
- ベストアンサー率54% (1660/3060)
#1です 押せるけど、赤にはなってませんでした。 多分回答時に間違えたんですね
- himajin100000
- ベストアンサー率54% (1660/3060)
明確な理由がない限りこういった無駄なギミックはあまりお勧めしない。 また、HTML と CSS と ecmascript/javascriptは使われる用語も,全然別物なので,何でもかんでもタグだと思わないこと。 これらの違いがわかる頃にはコードの意味がわかり、応用できるようになっているはず。俺からは応用は示さない。 まず、以下のコードをQ3122625-1.jsというファイル名で保存する //================================== var mode; var message; var E; function init(){ E = document.getElementById("signal"); message = new Array(); message[0] = "START"; message[1] = "STOP"; mode = 0 ShowMessage(); } function ShowMessage(){ //Firefox/Operaの場合は //E.textContent = message[mode]; E.innerText = message[mode]; } function flip(){ mode = (mode + 1) % message.length; ShowMessage(); } //================================ 次に,以下のコードをQ3122625-1.htmlとして保存した後開き、赤い部分をクリックする。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>テスト</title> <script type="text/javascript" src="Q3122625-1.js"></script> </head> <body onload="init();"> <p id="signal" onclick="flip();">押せません</p> </body> </html>