« 食わネバー | トップページ | 小さな変化に気付いて平凡な日常から脱出しよう »

2018.06.08

DOM要素に書いた計算式の結果を表示するJavaScript

起床時のBMIがMath.round( 55 / (1.6 * 1.6 ) * 100) / 100だった。 プチ飢餓状態ヤバいヤバい。朝から食べ物の事しか考えられない。 しかも最近、朝ご飯を食べてないので、おうちに食べ物全くない。 仕方がないから牛乳飲んだら、腹ピーピー。参った。

しかし「痩せ気味」とも言えない値だから、徐々に慣れていけるのだろうけど、「気が付けば体重が減っている」というこの状況に、ココロとカラダが慣れてない。

Kentai NEWウェイトゲイン アドバンス ミルクチョコ 1kg
健康体力研究所
売り上げランキング: 1,181

ところで、テキスト書いてるときに計算式を計算してほしい時があるんだけど、ちょっと考えたら JavaScript には eval という魔法があるのを思い出したので、やってみた(が、モバイルブラウザで動作してないと 指摘されたのでFunctionでやりなおし+モバイルブラウザではSCRIPTタグにdeferとかasyncとかの属性を付けて非同期で読み込まないとダメみたい)。

上のBMIはこれで計算してる。

Array.from(document.querySelectorAll(".calc")).forEach(e=>{
    let expr = e.innerHTML;
    e.setAttribute("title", expr);
    e.innerHTML =
        (Function('"use strict"; return (' + expr + ");")());
});

HTMLのソースはこうなってる。

<p>起床時のBMIが<span class="calc">
Math.round( [体重(kg)] / ([身長(m)] * [身長(m)] ) * 100) / 100
</span>だった。</p>

多少タイムラグがあるのでリロードすると式が見えたりしてちょっと面白い。最初はCSSで非表示にしておいて演算後に表示するとかすれば良いかも。式を表示するのもありかもね。もっと発展させて方程式を書いてグラフ書くとかも可能っぽいな。夢が広がる。


帰宅時豪雨。バケツが何個かひっくり返っているくらい。しかしカッパ着てから出発すると雨あがる。

雨あがる
雨あがる
posted with amazlet at 18.06.08
(2015-11-15)
売り上げランキング: 177,792

« 食わネバー | トップページ | 小さな変化に気付いて平凡な日常から脱出しよう »

日記・コラム・つぶやき」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: DOM要素に書いた計算式の結果を表示するJavaScript:

« 食わネバー | トップページ | 小さな変化に気付いて平凡な日常から脱出しよう »

2019年5月
      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 31  
フォト

Google AdSense

銀の弾丸

無料ブログはココログ

他のアカウント