<script type="text/javascript"> <!-- JavaScriptの記述 //--> </script>
<head>
<script type="text/javascript">
<!--
function 関数名(引数のならび){
関数の処理
}
//-->
</script>
</head>
<script type="text/javascript" src="xxx.js"> </script>
<script>
<!--
document.write("この文字はJavaScriptで表示しています。");
↑ domumentオブジェクトのwriteメソッドを実行
↑ 引数に指定された文字列がページに出力される
//-->
</script>
<script>
<!--
let change = new Date(); ← Dateオブジェクトを生成、変数changeに格納
let y = change.getFullYear();
↑ DateオブジェクトのgetFullYearメソッドを実行、4桁の数字を変数yに入れる
let m = change.getMonth()+1;
↑ DateオブジェクトのgetMonthメソッドを実行、戻り値に1加えて、変数mに入れる
let d = change.getDate();
↑ DateオブジェクトのgetDateメソッドを実行、戻り値(日)を変数dに入れる
let h = change.getHours();
↑ DateオブジェクトのgetHoursメソッドを実行、戻り値(時間)を変数hに入れる
let min =change.getMinutes();
↑ DateオブジェクトのgetMinutesメソッドを実行、戻り値(分)を変数minに入れる
document.write(y, "年", m, "月", d, "日 ", h, "時", min, "分","<br>");
↑ domumentオブジェクトのwriteメソッドを実行
↑ 引数に指定された文字列がページに出力される
//-->
</script>
<img>
<script>
<!--
document.images[0].src="image/mori.jpg";
↑ domumentオブジェクトのimages[]プロパティには、img要素が自動的に入る
↑ そのsrcの値に表示したい画像ファイルを指定する
//-->
</script>
<img name="photo">
<script>
<!--
document.photo.src="image/mori.jpg";
↑ domumentオブジェクトにはname属性を指定した要素のプロパティが自動的に生成される
//-->
</script>
マウスカーソルがメニュー項目上にくると、
それに応じた画像を右側に表示するスクリプトを作成してください。
演習問題2のページに対して、マウスカーソルがメニュー項目上にくると
メニュー文字列の前の記号画像が変わるよう、変更を加えてください。
onlcickの例を参考に,体重と身長をフォームから入力すると、標準体重と肥満度を計算し、表示するページを作成してください。標準体重と肥満度(BMI値)は次の式で計算します。
agent = window.navigator.userAgent.toLowerCase();
if(agent.indexOf('opera') != -1){
str = 'opera';
}else if(agent.indexOf('msie') != -1) {
str = 'ie';
}else if(agent.indexOf('chrome') != -1){
str = 'chrome';
}else if (agent.indexOf('safari') != -1){
str = 'safari';
}else if (agent.indexOf('firefox') != -1){
str = 'firefox';
}else {
str = "不明";
}
document.write("ブラウザは", str, "ですね。
まず、表示部分を作ります。
function doJanken(select){
//人間の手を表示する処理
//コンピュータの手を決める処理
//コンピュータの手を表示する処理
//勝敗を表示する処理
}
formタグ内で、例えば次のようにこの関数を使います。
<input type=button value="グー" onclick=doJanken(0)>
<a href="リンク先のアドレス" onmouseover="ステータスラインに文字列を表示するスクリプト; return true;"> リンク文字列 </a>ステータスラインに文字列を表示するには、windowオブジェクトのプロパティstatusに文字列を代入します。すると、その文字列が表示されます。
<span id="koko"> ここが内容 </span>このspan要素の属性にアクセスすることで、要素の内容を動的に変更できます。ここではspanタグを例にしましたが、id属性が指定できるHTML要素に同じ方法が使えます。
document.getElementById("koko").innerHTML = "ページ上に表示したい内容(HTMLタグ含む)";
getElementById("ID名")が返す値はHTML要素そのもので、そのプロパティinnerHTMLに表示する内容を指定するという意味です。内容が文字(テキスト)の場合は、innerTextも使えます。
document.getElementById("koko").innerText = "ページ上に表示したい文字内容";
console.log(document.getElementById("koko"));
指定するIDの要素がないとgetElementById("ID名")はnullという特別な値を返します(値がないという意味)。要素があるかないかを調べて処理をするには次のように書きます。
if (document.getElementById("koko") != null) {
// 要素がある時の処理を書く
}
<style>
<!--
.special { position: absolute; font-size: 16 }
-->
</style>
<span class="special" id="koko" > ここが内容 </span>
(2)
この要素のスタイルシート属性のleftやtopの値を指定することで、要素の位置を変更できます。ここでは、spanタグを例にしましたが、スタイル属性が定義できるHTML要素に同じ方法が使えます。
documentオブジェクトのgetElementById(ID)が返す値を使って、次のようにHTML要素の位置を指定します。
document.getElementById("koko").style.left = よこ位置; (例えば,100px)
document.getElementById("koko").style.top = たて位置;
setTimeout("実行する関数名", ミリ秒);
同じ処理(関数)を一定間隔で実行するには次のようにします。
function kansu(){
//処理を記述
window.setTimeout("kansu()", ミリ秒);
}
document.getElementById("msg").style.top = y + "px";
//ただし、5.5より前のバージョンのIEの場合
document.all.msg.style.top = y + "px";
const word1 = ["鯉はねて", "褌に", "古池や", "無為にして", "蜩や",
"秋の蝿" ,"蝙蝠や" ,"阿呆鳥" ,"余命" ,"遅れ咲く"];
const word2 = ["浅きタライや", "団扇さしたる", "蛙飛び込む", "ナマコ一万",
"神鳴り晴れて" ,"叩き殺せと" ,"暮るるをながめ" ,
"熱き国にぞ" ,"いくばくかある","こと貫禄の"];
const word3 = ["春の水", "亭主かな", "水の音", "八千歳", "又夕日",
"命じけり" ,"坂の上" ,"参りたる" ,"夜短し","八重桜"];
例えば、word1[0]とword2[6]とword3[1]をつなげると、「鯉はねて暮るるをながめ亭主かな」になります。これをページ上に表示します。配列の添え字はランダムに決めます。
windowオブジェクトのpageYOffsetプロパティ
ただし、IE6-8では、document.documentElementのscrollTopプロパティ
x = r * Math.cos(angle)
y = r * Math.sin(angle)
cos(),sin()の引数は、ラジアンで表した角度angleです。
もし、angleが10度や90度のように度単位の数値であるなら、
これをラジアンへ変換する必要があります。
度からラジアンへの計算は次のようにします。
Math.PIはΠ(円周率)の値です。
angle * Math.PI/180
angleの値を少しずつ変化させて、円周上を移動させます。
x座標:angle
y座標:Math.sin(angle*Math.PI/180)
sin関数の値は-1から1の値です。適当な係数(例えば100)をかけて、画面上のピクセル単位の位置に合った数値を、topプロパティの値とします。
windowオブジェクトのinnerWidthプロパティ
ただし、IE6-8では、document.documentElementのclientWidthプロパティ、
それIE以前では、document.bodyオブジェクトのclientWidthプロパティ
まず、表示部分を作ります。
var img=new Array();
for(i=0;i<3;i++) { //3つの画像ファイル名を配列imgに入れる
img[i]= "image/img" + i + ".gif";
}
function kansu(){
//スロットの画像を変える処理
timer = setTimeout("kansu()", ミリ秒);
}
タイマー用の変数(例えばtimer)はスロットごとに用意しておきます。
document.slot1.src = img[i1%3];
i1++;