[JavaScript] simple Counter

2023. 7. 3. 15:00·Tip
728x90

텍스트

더보기
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Week 9: Counter</title>

  <script>
    const counter_id = "counter"
    let counter_element = null

    // 삽입
    // document.write()로 body 태그 직접 수정
    const func_insert = () => {
      let content =
        `<h1>${counter_id.toUpperCase()}</h1>
        <hr>
        <table>
          <tr>
            <td style="text-align: center;">
              <p id="${counter_id}" style="font-size: 30px;">0</p>
            </td>
          </tr>
          <tr>
            <td>
              <button onclick="func_update(document.getElementById('${counter_id}'), +1)">증가</button>
              <button onclick="func_update('${counter_id}', -1)">감소</button>
              <button onclick="func_update(counter_element, Number.NEGATIVE_INFINITY)">초기화</button>
            </td>
          </tr>
        </table>`
      document.write(content)

      // 코드가 동적으로 삽입되기 때문에
      // 이 시점부터 element 할당이 가능하다
      counter_element = document.getElementById(counter_id)
    }

    // 수정
    // 특정 태그의 event로 등록된 callback 함수의 형식
    const func_update = (element, digit) => {
      if (element.innerText == null) element = document.getElementById(element)
      if (element.innerText == null) element = document.getElementById('counter')

      let counter_value = Number(element.innerText) + digit
      element.innerText = counter_value > 0 ? counter_value : 0
    }

  </script>
</head>

<body onload="func_insert()">
</body>

</html>
728x90
저작자표시 비영리 동일조건 (새창열림)

'Tip' 카테고리의 다른 글

[Win11] Administrator 계정 활성화  (0) 2023.07.07
[Java] Singleton Pattern using synchronized  (0) 2023.07.04
[JavaScript] 키보드 입력에 따른 event 처리  (0) 2023.07.03
[MacOS/zsh] get internal ip from console  (0) 2023.06.29
[MacOS] STS3 Spring setting with Eclipse 4.21  (0) 2023.06.15
'Tip' 카테고리의 다른 글
  • [Win11] Administrator 계정 활성화
  • [Java] Singleton Pattern using synchronized
  • [JavaScript] 키보드 입력에 따른 event 처리
  • [MacOS/zsh] get internal ip from console
ooMia
ooMia
  • ooMia
    데이터 과학자의 꿈
    ooMia
  • 전체
    오늘
    어제
    • 분류 전체보기 (116)
      • Insight (24)
        • 서평 (20)
      • Learn (43)
        • UPSIDE (22)
        • ASAC (4)
        • 우테코 (4)
      • Tip (24)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Velog.io
    • GitHub
    • Linked-in
    • Instagram
    • Solved.ac
  • 공지사항

  • 인기 글

  • 태그

    한빛미디어
    가이드
    패스트캠퍼스
    DAPP
    한빛미디어서평단
    C언어
    매우 쉬움
    쉬움
    우테코
    SQL 데이터 분석 첫걸음
    내일배움카드
    K디지털기초역량훈련
    티스토리챌린지
    for 반복문
    나도 할 수 있는 Java&Spring 웹 개발 종합반
    업사이드 아카데미
    오블완
    업사이드
    국비지원교육
    web3
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
ooMia
[JavaScript] simple Counter
상단으로

티스토리툴바