Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Replace
- 문자열 추출
- 별표시
- mac 바탕화면 보기
- 스크립트 시계
- 문자 위치
- 특정요소제외
- 카운트 증가
- css 말풍선
- 천단위 나누기
- 문자열
- mac 전체화면 보기
- touppercase
- 보이스오버
- 문자열 함수
- 숫자 증가
- radio readonly
- 세자리 콤마
- JavaScript
- 자바스크립트
- SubString
- mac 전체화면 닫기
- JS
- tolowercase
- 콤마 추가
- 특정태그제외
- not 선택자
- css not
- 말풍선 그리기
- checkbox readonly
Archives
- Today
- Total
나의 IT Note
[JavaScript] 카운트 증가 / 숫자 증가 시키기(requestAnimationFrame) 본문
카운트 증가 / 숫자 증가
requestAnimationFrame을 사용하여 카운트를 증가시키는 스크립트로 duration을 통해 애니메이션의 시간을 조절할 수 있다.
<div class="counter" data-count="125000000">0</div>
// 모든 counter 요소를 가져옵니다.
var counterElements = document.querySelectorAll('.counter');
// 각각의 counter 요소에 대해 애니메이션을 적용합니다.
counterElements.forEach(function(counterElement) {
var countLimit = parseInt(counterElement.getAttribute('data-count'), 10);
var duration = 1000; // 애니메이션 시간 (ms)
var start = null;
function step(timestamp) {
if (!start) start = timestamp;
var progress = timestamp - start;
var percentage = Math.min(progress / duration, 1); // 진행률은 최대 1까지
// data-count에 따라 최종 값 계산
var currentValue = Math.floor(countLimit * percentage).toLocaleString(); // 쉼표 추가
counterElement.textContent = currentValue;
// 애니메이션 종료 조건
if (progress < duration) {
requestAnimationFrame(step);
}
}
// 애니메이션 시작
requestAnimationFrame(step);
});
결과물
0
반응형
'JavaScript' 카테고리의 다른 글
JavaScript] 개인정보 마스킹(이름, 전화번호 등등 숨기기) (1) | 2024.03.07 |
---|---|
[JavaScript] 숫자 3자리(천단위)마다 콤마(,) 추가(정규식, toLocaleString) (1) | 2024.02.27 |
[JavaScript] 디지털 시계 구현하기 (0) | 2024.01.23 |
[JavaScript] 페이지 자동으로 이동하기[location.href / location.replace()] (0) | 2024.01.18 |
[JavaScript] 제이쿼리(jQuery) 다음요소 찾기(next) 자바스크립트로 구현 (0) | 2023.12.01 |
Comments