λͺ¨λ˜ν•˜κ³  μΈν„°λž™ν‹°λΈŒν•œ μ›Ήμ‚¬μ΄νŠΈ λ””μžμΈ: λΉ›λ‚˜λŠ” λ²„νŠΌκ³Ό 숫자 둀링 μ• λ‹ˆλ©”μ΄μ…˜

2023. 11. 21. 00:01ㆍDevelopmentπŸ‘©πŸ»‍🦳/Dynamic Web

 

 

 

μ›Ήμ‚¬μ΄νŠΈλ₯Ό λ°©λ¬Έν•˜λŠ” μˆœκ°„, μ‚¬μš©μžλŠ” λ””μžμΈμ„ ν†΅ν•΄ μ²«μΈμƒμ„ ν˜•μ„±ν•©λ‹ˆλ‹€. 

 

 

이 μ²«μΈμƒμ€ μ‚¬μš©μžμ˜ μ°Έμ—¬, μ›Ήμ‚¬μ΄νŠΈμ— λŒ€ν•œ μΈμ‹, μ‹¬μ§€μ–΄ λΈŒλžœλ“œμ— λŒ€ν•œ μ‹ λ’°λ„에 μ˜ν–₯을 λ―ΈμΉ©λ‹ˆλ‹€. 

ν˜„λŒ€μ μΈ μ›Ή λ””μžμΈμ—μ„œλŠ” λ‹¨μˆœνžˆ μ’‹μ€ μ²«μΈμƒμ„ λ„˜μ–΄μ„œ, 

μ‚¬μš©μžμ™€μ˜ μ§€μ†μ μΈ μƒν˜Έμž‘μš©μ„ μœ λ„ν•˜λŠ” μΈν„°λž™ν‹°λΈŒ μš”μ†Œλ“€μ΄ μ€‘μš”ν•œ μ—­ν• μ„ ν•©λ‹ˆλ‹€. 

 

μ˜€λŠ˜μ€ μ΄λŸ¬ν•œ μΈν„°λž™ν‹°λΈŒ μš”μ†Œ μ€‘ λ‘ κ°€μ§€ 

 

λΉ›λ‚˜λŠ” λ²„νŠΌ μ• λ‹ˆλ©”μ΄μ…˜κ³Ό 숫자 둀링 μ• λ‹ˆλ©”μ΄μ…˜ 

 

 μ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

λΉ›λ‚˜λŠ” λ²„νŠΌ μ• λ‹ˆλ©”μ΄μ…˜
λ²„νŠΌμ€ μ›Ήμ‚¬μ΄νŠΈμ—μ„œ μ‚¬μš©μžμ˜ ν–‰λ™μ„ μœ λ„ν•˜λŠ” ν•΅μ‹¬ μš”μ†Œμž…λ‹ˆλ‹€. κ·Έλ ‡κΈ° λ•Œλ¬Έμ— λ²„νŠΌμ˜ λ””μžμΈμ€ μ‚¬μš©μžμ˜ μ£Όμ˜λ₯Ό λŒκ³ , ν–‰λ™μ„ μœ λ„ν•˜λŠ” λ° μ€‘μš”ν•œ μ—­ν• μ„ ν•©λ‹ˆλ‹€. μ—¬κΈ°μ—μ„œλŠ” λΉ›λ‚˜λŠ” νš¨κ³Όμ˜ λ²„νŠΌ μ• λ‹ˆλ©”μ΄μ…˜μ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. μ΄ μ• λ‹ˆλ©”μ΄μ…˜μ€ λ²„νŠΌμ— λ™μ μ΄κ³  λ§€λ ₯적인 μ‹œκ°μ  νš¨κ³Όλ₯Ό μΆ”κ°€ν•˜μ—¬ μ‚¬μš©μžμ˜ ν΄λ¦­μ„ μœ λ„ν•©λ‹ˆλ‹€.

μ˜ˆμ‹œ 이미지

 

 

κ΅¬ν˜„μ΄λ―Έμ§€


CSS μ½”λ“œ κ΅¬ν˜„
λ²„νŠΌμ— μ μš©λœ μ• λ‹ˆλ©”μ΄μ…˜μ€ CSS의 @keyframes와 box-shadow μ†μ„±μ„ ν™œμš©ν•˜μ—¬ κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

css
Copy code
.home__button::before{
    content: '';
    border: 2px solid hsl(158, 89%, 30%);
    width: 90px;
    height: 90px;
    position: absolute;
    border-radius: 50%;
    box-shadow: 0 0 12px hsl(158, 98%, 43%);
    transition: .3s;
    animation: button 3s infinite;
}

@keyframes button{
    0%{
        box-shadow: 0 0 12px hsl(158, 98%, 43%);
    }
    50%{
        box-shadow: 0 0 24px hsl(158, 98%, 43%);
    }
}​

 


숫자 λ‘€λ§ μ• λ‹ˆλ©”μ΄μ…˜

 


μ›Ήμ‚¬μ΄νŠΈμ˜ λ°μ΄ν„°λ₯Ό λ™μ μœΌλ‘œ ν‘œν˜„ν•˜λŠ” λ˜ λ‹€λ₯Έ λ°©λ²•μ€ μˆ«μž λ‘€λ§ μ• λ‹ˆλ©”μ΄μ…˜μž…λ‹ˆλ‹€. 

이 κΈ°λŠ₯은 μˆ«μžκ°€ 0λΆ€ν„° μ‹œμž‘ν•˜μ—¬ μ„€μ •λœ λͺ©ν‘œ κ°’κΉŒμ§€ μ μ§„μ μœΌλ‘œ μ¦κ°€ν•˜λŠ” νš¨κ³Όλ₯Ό λ§Œλ“€μ–΄λƒ…λ‹ˆλ‹€. 

μ΄λŠ” νŠΉνžˆ 'Temperature', 'Mileage', 'Battery' λ“±μ˜ μˆ˜μΉ˜λ₯Ό ν‘œν˜„ν•˜λŠ” λ° λ§€μš° νš¨κ³Όμ μž…λ‹ˆλ‹€.

JavaScript κ΅¬ν˜„
JavaScriptλ₯Ό μ‚¬μš©ν•˜μ—¬ μˆ«μžκ°€ μ μ§„μ μœΌλ‘œ μ¦κ°€ν•˜λŠ” μ• λ‹ˆλ©”μ΄μ…˜μ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

 

javascript
Copy code
document.querySelectorAll('.home__car-number').forEach(number => {
    const updateCount = () => {
        const target = +number.getAttribute('data-target');
        const count = +number.innerText;
        const increment = target / 100; 

        if (count < target) {
            number.innerText = Math.ceil(count + increment);
            setTimeout(updateCount, 10);
        } else {
            number.innerText = target;
        }
    };
    updateCount();
});

κ²°λ‘ 

 

 


이번 ν”„λ‘œμ νŠΈμ—μ„œ κ΅¬ν˜„ν•œ λΉ›λ‚˜λŠ” λ²„νŠΌ μ• λ‹ˆλ©”μ΄μ…˜κ³Ό μˆ«μž λ‘€λ§ μ• λ‹ˆλ©”μ΄μ…˜μ€ ν˜„λŒ€μ μΈ μ›Ήμ‚¬μ΄νŠΈ λ””μžμΈμ˜ λ‘ κ°€μ§€ μ€‘μš”ν•œ μš”μ†Œλ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€. μ΄λŸ¬ν•œ μš”μ†Œλ“€μ€ μ‚¬μš©μž κ²½ν—˜μ„ ν’λΆ€ν•˜κ²Œ ν•˜κ³ , 

μ›Ήμ‚¬μ΄νŠΈμ— λ…νŠΉν•œ κ°œμ„±κ³Ό λ™μ μΈ λŠλ‚Œμ„ λΆ€μ—¬ν•©λ‹ˆλ‹€.

μ‚¬μš©μž κ²½ν—˜μ˜ ν–₯상

 

 


λΉ›λ‚˜λŠ” λ²„νŠΌμ€ μ‚¬μš©μžμ˜ μ‹œμ„ μ„ λŒκ³ , ν΄λ¦­μ„ μœ λ„ν•¨μœΌλ‘œμ¨ μƒν˜Έμž‘μš©μ„ μ¦κ°€μ‹œν‚΅λ‹ˆλ‹€. 

반면, μˆ«μž λ‘€λ§ μ• λ‹ˆλ©”μ΄μ…˜μ€ μ€‘μš”ν•œ μ •λ³΄λ₯Ό λ…창적이고 λ§€λ ₯적인 λ°©μ‹μœΌλ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ‹œκ°μ  μš”μ†Œλ“€μ€ μ‚¬μš©μžκ°€ μ›Ήμ‚¬μ΄νŠΈμ™€ μƒν˜Έμž‘μš©ν•  λ•Œ λŠλΌλŠ” λ§Œμ‘±κ°μ„ μ¦κ°€μ‹œν‚€κ³ , λΈŒλžœλ“œμ— λŒ€ν•œ κΈμ •μ μΈ μΈμƒμ„ μ‹¬μ–΄μ€λ‹ˆλ‹€.

 


λ””μžμΈκ³Ό κΈ°λŠ₯의 κ²°ν•©

 


이 ν”„λ‘œμ νŠΈλŠ” λ””μžμΈκ³Ό κΈ°λŠ₯이 μ–΄λ–»κ²Œ μ„œλ‘œλ₯Ό λ³΄μ™„ν•˜μ—¬ μ‚¬μš©μž κ²½ν—˜μ„ ν–₯μƒμ‹œν‚¬ μˆ˜ μžˆλŠ”지 λ³΄μ—¬μ€λ‹ˆλ‹€. λ””μžμΈμ€ λ‹¨μˆœνžˆ μ‹œκ°μ μΈ μš”μ†Œμ— κ΅­ν•œλ˜μ§€ μ•Šκ³ , μ›Ήμ‚¬μ΄νŠΈμ˜ κΈ°λŠ₯성을 κ°•ν™”ν•˜λŠ” μ€‘μš”ν•œ μ—­ν• μ„ ν•©λ‹ˆλ‹€. λ˜ν•œ, κΈ°λŠ₯적인 μΈ‘λ©΄ λ˜ν•œ λ””μžμΈμ„ ν†΅ν•΄ ν–₯상될 μˆ˜ μžˆμŒμ„ λ³΄μ—¬μ€λ‹ˆλ‹€.

 


마치며

 


이 λΈ”λ‘œκ·Έ ν¬μŠ€νŒ…을 ν†΅ν•΄, λͺ¨λ˜ μ›Ή λ””μžμΈμ˜ μ€‘μš”μ„±κ³Ό κ·Έ κ΅¬ν˜„ λ°©λ²•μ— λŒ€ν•œ ν†΅μ°°μ„ μ œκ³΅ν•˜κ³ μž ν–ˆμŠ΅λ‹ˆλ‹€. 

κ΅¬ν˜„λœ λΉ›λ‚˜λŠ” λ²„νŠΌκ³Ό μˆ«μž λ‘€λ§ μ• λ‹ˆλ©”μ΄μ…˜μ€ μ΄λŸ¬ν•œ λͺ©ν‘œλ₯Ό λ‹¬μ„±ν•˜λŠ” λ° μžˆμ–΄ ν›Œλ₯­ν•œ μ˜ˆμ‹œκ°€ λ©λ‹ˆλ‹€. 

μ›Ήμ‚¬μ΄νŠΈλ₯Ό λ””μžμΈν•˜κ±°λ‚˜ κ°œλ°œν•  λ•Œ, μ΄λŸ¬ν•œ μš”μ†Œλ“€μ„ κ³ λ €ν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ μžŠμ§€ λͺ»ν•  κ²½ν—˜μ„ μ œκ³΅ν•΄ λ³΄μ„Έμš”.