1 javascript とは
あらかじめブラウザに組み込まれているプログラムで、ホームページに貼り付けて、ボタンやテキストエリアを作ったり、文字や小さな写真などを簡単な動作で動かしたりすることができます。
VB VBAとは別物で、アクティブXに直接頼ることがないので、コンピュータの内部に致命的な 悪さをするプログラムは javaと同様に書けないようになっているので比較的安全である。
ソースコードは【表示】→【コード】をクリックすることで、見ることができる。
2 どうやって作った?
書店で販売されているjavascript の参考図書は、作りたいものが「ドリル式問題集」であったので、ほとんど参考になりませんでした。そこで ネットで調べることにしました。
ヤフーとかグーグルで javascript のキイワードでひくと、参考になるホームページが相当でてきます。その中で最も実用的に優れていたページを2つ絞って、作りながら参照していきました。
3 苦労した テクニック
@エンターキイを押すと 次の項目に移ること
他の言語ではたやすいこんなことが、javascriptでは難しい。
【解決方法】
エンターキイを押すと、次に移るjavascriptのコードを探しました。しかし、ホームページビルダーでコードを貼り付けているときには、エンターキイを押しても次に移っていきません。実際にブラウザでページを開いてテキストボックスに入力し、エンターキイを押したときに 次に移ります。
Aページを固定して 次々に問題を出すこと
javascript では、ページに貼り付けて、上から下へ流れるように 解答を書く欄を設定し これを採点することは易しい。
このようにして書いた問題が、小数の足し算、かけ算、わり算 などだが、合う、違うことは直ぐに分かるが、この間違った情報を、後で生かすことがなかなか難しい。
【解決方法】
一問一答を基本として、画面には出題テキストボックスと解答テキストボックスを作り、このテキストに入力された答えを判定して、間違っていた場合に再度出題されるように、記憶するように(配列)工夫した。循環するようにプログラムを組んだ。やや無理はあるが成功した。
Bフォーカスを次々に移すこと
「フォーカス」というのは、テキストボックスなどをクリックすると、縦に線がでてチカチカする、あれです。どこに入力したらよいか示すものですが、これを 思い通りの所に動かしていくことが難しい。特に百マス計算では苦労した。
【解決方法】
テキストにひとつひとつプログラムで自動的に名前を付けていった。この名前を手がかりにフォーカスを動かしたり、正解と解答を照らし合わせたりすることにした。
Cキャラクターを、問題が合うたびに 表示していくこと
他の言語では比較的易しいこんなことが、javascriptでは難しい。ページを固定して表示していくという構造になっていないので、キャラクターを表示する度にページの最後に表示されてしまう。
【解決方法】
もともとページに描いてあるキャラクターならば、大量に描いてあっても消したり現したりできることから、予め正解キャラを大量に書き込んで消しておき、正解がある度に現れるようにした。こうすると あたかも 正解すると一つずつキャラが現れていくように見える。しかし、遅いコンピュータだと、一瞬大量のキャラが見え、消えるのがわかる。
Dテキストボックスとか ボタンとかを プログラムで書いて、実行させること
javascriptは、テキストボックスやボタンは、ページに1こ〜10こくらいを貼り付けて、これをプログラムしていくということを前提としている言語らしく、いっぺんに100このテキストボックスやボタンを表示させることは考えていないらしい。これを実現するために、あちこちネットを探し、やっと実現していった。
【解決方法】
1から10までのボタンをいっぺんに書き込むプログラムを参考にして、百ます計算では、100このテキストボックスを書き込み、名前をつけた。とにかくプログラムがややこしくて、ちょっとのことで停止して苦労した。