1
1

More than 3 years have passed since last update.

JsでHTML文の表記を変える

Posted at

WHY

javascriptの練習がてらinnerHTMLで遊んでいた内容をアウトプットさせていただきます。
基本的なinnerHTMLの動きは理解できるとおもいます。
※今回はJQueryは使用しません

jsファイルを反映させましょう。

html文のbodyの最後に記述します。

<script type="text/javascript" src="test.js"></script>

html文の記述を変えよう

https://qiita.com/totacho/items/e019473ad1fea29593b2
で作成したhtmlファイルを少し改造します。

<!-- 省略 -->
<h2 class="heading-name">メールで予約</h2>

<div class="price">
  <div>TAX</div>
  <div class=price-margin id="tax-price"></div>
  <div></div>
</div>
<div class="price">
  <div>利益</div>
  <div class=price-margin id="before-price"></div>
  <div></div>
</div>
<!-- 省略 -->

ブラウザを見てみましょう
taxprice.png
フォーム部分がこのようになってます。

priceのとこに額を打ち込むと

  • TAXのとこにprice額の10%の額
  • 利益のとこに打ち込んだprice額からTAXの額を引いた額

を表示させていきます。

Javascriptに記述しよう

まずこのように書いてみましょう。

function taxCalc (){
  const formPrice  = document.getElementById("input-price");
  formPrice.addEventListener("keyup", () => {

    const price = formPrice.value
    const tax = price*0.1
    const beforePrice = price - tax
    console.log(tax)
    console.log(beforePrice)
  });
}

taxCalc関数を定義して、htmlからId("input-price")の要素を取得しています。
そしてその要素に文字が打ち込まれるたびにイベント発火をさせる記述をかいています。

function taxCalc (){
  const formPrice  = document.getElementById("input-price");
  formPrice.addEventListener("keyup", () => {

続いて「.value」でフォームのを取得、代入し、
それぞれTAXと利益の値を計算していき、コンソールで確認してみます。
taxprice2.png

コンソールに10%の額と利益額が順番に表示されました!
つづいてこれをHTML文へそのまま記述するようにします。

innerHTML

html要素の中身を変化させることができます
console.logを削除し、以下のように記述しましょう

const taxPrice = document.getElementById('tax-price');
const profitPrice = document.getElementById("before-price");
taxPrice.innerHTML = tax;
profitPrice.innerHTML = beforePrice;

変化させたい要素を取得し、変数に代入します。
その変数にinnerHTMLを使いそれぞれ表示したい値の入った変数を指定すると、、

taxprice3.png

ブラウザで確認がとれました!
きちんと表示されました!


このようなアニメーションを作れるのがJsの醍醐味ですし、便利さなど追求していくならこのような機能は必須だと思います!!
引き続きたまにはこう言う風に遊びながら学習続けていこうと思います!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1