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();
});
κ²°λ‘
μ΄λ² νλ‘μ νΈμμ ꡬνν λΉλλ λ²νΌ μ λλ©μ΄μ
κ³Ό μ«μ λ‘€λ§ μ λλ©μ΄μ
μ νλμ μΈ μΉμ¬μ΄νΈ λμμΈμ λ κ°μ§ μ€μν μμλ₯Ό 보μ¬μ€λλ€. μ΄λ¬ν μμλ€μ μ¬μ©μ κ²½νμ νλΆνκ² νκ³ ,
μΉμ¬μ΄νΈμ λ
νΉν κ°μ±κ³Ό λμ μΈ λλμ λΆμ¬ν©λλ€.
μ¬μ©μ κ²½νμ ν₯μ
λΉλλ λ²νΌμ μ¬μ©μμ μμ μ λκ³ , ν΄λ¦μ μ λν¨μΌλ‘μ¨ μνΈμμ©μ μ¦κ°μν΅λλ€.
λ°λ©΄, μ«μ λ‘€λ§ μ λλ©μ΄μ μ μ€μν μ 보λ₯Ό λ μ°½μ μ΄κ³ 맀λ ₯μ μΈ λ°©μμΌλ‘ μ λ¬ν©λλ€. μ΄λ¬ν μκ°μ μμλ€μ μ¬μ©μκ° μΉμ¬μ΄νΈμ μνΈμμ©ν λ λλΌλ λ§μ‘±κ°μ μ¦κ°μν€κ³ , λΈλλμ λν κΈμ μ μΈ μΈμμ μ¬μ΄μ€λλ€.
λμμΈκ³Ό κΈ°λ₯μ κ²°ν©
μ΄ νλ‘μ νΈλ λμμΈκ³Ό κΈ°λ₯μ΄ μ΄λ»κ² μλ‘λ₯Ό 보μνμ¬ μ¬μ©μ κ²½νμ ν₯μμν¬ μ μλμ§ λ³΄μ¬μ€λλ€. λμμΈμ λ¨μν μκ°μ μΈ μμμ κ΅νλμ§ μκ³ , μΉμ¬μ΄νΈμ κΈ°λ₯μ±μ κ°ννλ μ€μν μν μ ν©λλ€. λν, κΈ°λ₯μ μΈ μΈ‘λ©΄ λν λμμΈμ ν΅ν΄ ν₯μλ μ μμμ 보μ¬μ€λλ€.
λ§μΉλ©°
μ΄ λΈλ‘κ·Έ ν¬μ€ν
μ ν΅ν΄, λͺ¨λ μΉ λμμΈμ μ€μμ±κ³Ό κ·Έ ꡬν λ°©λ²μ λν ν΅μ°°μ μ 곡νκ³ μ νμ΅λλ€.
ꡬνλ λΉλλ λ²νΌκ³Ό μ«μ λ‘€λ§ μ λλ©μ΄μ μ μ΄λ¬ν λͺ©νλ₯Ό λ¬μ±νλ λ° μμ΄ νλ₯ν μμκ° λ©λλ€.
μΉμ¬μ΄νΈλ₯Ό λμμΈνκ±°λ κ°λ°ν λ, μ΄λ¬ν μμλ€μ κ³ λ €νμ¬ μ¬μ©μμκ² μμ§ λͺ»ν κ²½νμ μ κ³΅ν΄ λ³΄μΈμ.