スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

暇だったので、汎用的比率計算 の解説

右側の汎用的比率計算のソースを公開します。
正直どうでもいいと思われますが、何だかんだ言って今まで1回もソースの説明したことないと思うのでwww
ランダムバナー表示のソースも説明してないしwww

下記のソースですが、すべてJavaScriptで書いています。
フォームのなどもJavaScript内で作成しています。
このような仕様にしたのは、外部参照するだけで利用できるの出来るので便利です。
この時点で言っている意味が分からない方もいると思います。
ようするに、フォームは
//フォームやボタン成型
より下に記述してる文で表現しています。
document.write()は主に表示などで使われる一般構文です。
分からない場合はググってください _(_^_)_
document.write()内に記述してるものは、単純にHTMLでフォームを作成しています。
HTMLフォームなどでググると出てくると思います。
ここまで、読んで分かったと思いますが、詳しい解説は一切していませんwww
早くもめんどくなったので簡単に流れだけ記述w

フォームが入力完了して、チェックボタンを押すと
ソース内の「onclick="check()"」に飛びます
//入力チェック正規表現しよう
function check(){・・・}
を実行します。
・・・はめんどいので省略
やってることは、0~9以外の文字入力を弾き、尚且つ0入力の場合はエラーメッセージを返しています。
上記の条件を正しく満たした場合、一番最後の「Calc();」により
//計算
function Calc(){・・・}
を実行しています。
ここでは、単純に計算&表示を行っています。
ちなみに、エラー時の処理は
//入力エラー時の処理
function clear(){・・・}
を実行しています。

説明もなんか適当で申し訳ないです。
困ったらググるかコメントか何かで聞いてもらえれば答えます。
最後に、このソースは私がすべて書いてますが、書き方がまずい場合とかはご指摘よろしくお願いします。

転載などはご自由にどうぞ!
以下よりソース

//グローバル領域をあまり使いたくないのだがこの場合は仕方ないよね?
var w;
var h;

//入力エラー時の処理
function clear(){
    document.all.nk.innerHTML = "";
    document.all.ah.innerHTML = "";
    document.form.w.value = "";
    document.form.h.value = "";
    alert("空白と0以外の半角数字を入力してください");
}

//計算
function Calc(){
    //変数宣言
    var x,y,mw,mh;

    //数値コピー
    x=w;
    y=h;

    //最大公約数計算 ユークリッドの互除法を使用
    while( 1 ){
            r = x%y;
            if(r == 0) break;
            x = y;
            y = r;
    }

    //アスペクト比の表示
    mw = w / y;
    mh = h / y;

//表示
document.all.nk.innerHTML = ">"+w+"*"+h+"\n";
document.all.ah.innerHTML = ">"+mw +":"+ mh;
}

//入力チェック正規表現しよう
function check(){
    //テキストボックスから値を数値で代入
    w = document.form.w.value;
    h = document.form.h.value;

    if( w.match( /[^0-9]+/ ) || h.match( /[^0-9]+/ ) )
        clear();
    else if( w==0 || h==0 )
            clear();
        else
            Calc();
}

//フォームやボタン成型
document.write('<form name="form">');
document.write('幅  <input type="text" size="20" name="w">');
document.write('<br>');
document.write('高さ <input type="text" size="20" name="h">');
document.write('<br>');
document.write('<input type="button" value="チェック" onclick="check()">');
document.write('</form>');
document.write('<br>');

document.write('入力解像度');
document.write('<br>');
document.write('<span id="nk"></span>');
document.write('<br>');
document.write('アスペクト比(横:縦)');
document.write('<br>');
document.write('<span id="ah"></span>');

テーマ : とりあえず書いとこ ~ф(゜゜)
ジャンル : 日記

コメントの投稿

非公開コメント

プロフィール

agpm

Author:agpm
最近は、ゲーム中心にやっています。
アニメなども見てますが、そこまで詳しくはないです<(_ _)>
更新は気分しだいで、頻度にはかなり差があります

リンクフリーなのでどんどんして頂けると管理人はうれしいです
相互リンクでもOK


連絡こちら↓
メールフォームはここ

PCのスペック公開

リンク
カレンダー
08 | 2017/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
月別アーカイブ
カテゴリ
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。