JavaScriptメモ(ボタン、画像置き換えなど)
JavaScriptに関するメモです。単純なんだけど、正確な記述はすぐ忘れるので。
昔の基本機能(HTMLの一部を生成)
JavaScriptの当初の機能はHTML文の一部をプログラムで生成することでした。
もちろん現在も有効な機能ですが、現在の中心はHTML要素をDOMモデルを用いて
変更することに移っています。
例えば、HTML記述の一部として次のような記述
<p>
<center>
HTML文の中に
<script type="text/javascript">
document.write("<font color=blue><b>単純な記述</b></font>");
</script>
を挟む。
</center>
</p>
があると次のような文が表示されます。
この例では<script>から</script>がJavaScriptでその外は
通常のHTMLです。
このようにHTMLの中に挟んだスクリプトはその前後のHTMLが解釈される
ときに順に解釈され、そのスクリプトがdocument.writeで生成する
文が、スクリプト部にあったかのごとく表示されます。
関数で、HTMLの要素を置きかえる
JavaScriptはHTMLの文の外に関数として記述し、HTML文の中の要素を
指定して置換すこともできます。
例えば、下の画像はボタン押すと呼ばれるJavaScriptで<img>の
srcを置き換えることにより、ボタンに応じて画像を変えています。
typeがtextのinputやtextareaはformの中に置けば、直接documentの要素として
指定可能でvalueに文字列を入れることにより置換できます。(formに
入れない場合はgetElementById(名前)
関数呼び出しで要素特定をしなくてはならなくなります)
記述は次のものです。
<!-- Javascript関数 -->
<script type="text/avascript">
function dispimage(filename,comment){
document.getElementById('image').src=filename;
document.getElementById('text').value=comment;
}
</script>
<!-- 画像 -->
<center>
<img src="http://k-hiura.cocolog-nifty.com/image_08_12/moai_7.gif"
id="image" align="left">
<form id="form1"><input type="text" id="text"/></form1>
<br style="clear: both;">
<!-- ボタンの並び -->
<input type="button" id="button1"
value="画像1"
onClick='dispimage("http://k-hiura.cocolog-nifty.com/image_08_12/moyai_2.gif",
"画像1")'/>
<input type="button" id="button2"
value="画像2"
onClick='dispimage("http://k-hiura.cocolog-nifty.com/image_08_12/moyai_3.gif",
"画像2")'/>
<input type="button" id="button3"
value="画像3"
onClick='dispimage("http://k-hiura.cocolog-nifty.com/image_08_12/moyai_6.gif",
"画像3")'/>
</center>
画像はHTML文の中に<img>で定義されています。
ここではその<img>にname属性が"image"と定義されています。
<input>ボタンが定義され、onclick属性でボタンが押されたときに
関数dispimageを呼ぶと定めています。
呼び出される関数dispimageは
<script>..</script>内にfuntion文で定義されています。
関数dispimageでは"image"
のsrcに引数(ファイル名と想定)をセットしています。
もやい結びでモアイを結んでいますが、もやいとモアイは無関係です。念のため
なお、図は
新聞、雑誌の束ね方、結び方、縛り方のものです。
注意 language="JavaScript"
古い記述ではlanguage属性によりJavaScriptであることと、JavaScriptのバージョン を指定していました。
<script language="JavaScript1.2"> <!-- // なんだかんだJavaScript記述 // --> </script>この書き方はHTML4.01で却下されtype属性で指定することになりました。
<script type="text/javascript"> <!-- // なんだかんだJavaScript記述 // --> </script>
注意2 プログラム部をコメントで挟む必要はない(2010/6/24)
古い記述ではプログラム部をコメント<!--...-->で囲む必要があるとされていました。
<script type="text/javascript">
<!--
function myFunc(){
...
}
// -->
</script>
しかし、現在はコメントで囲む必要はありません。
<script type="text/javascript">
function myFunc(){
...
}
</script>
さらに記述は付け加えられるであろう。
(2010/6/24):要素アクセス法を要素つなぎ(document.form.text.value)から getElementById使用(document.getElementById('text').value)に変更
| 固定リンク

