رسوم متحركة عند النقر على الأزرار
جزء من قسم JavaScript in Action في رحلة HTML على Coddy. الدرس 20 من 27.
أحيانًا نريد أن تعطي الأزرار استجابة فورية عند النقر عليها — مثل التقلص، أو التوهج، أو الارتداد. يمكننا تشغيل حركات أو انتقالات CSS باستخدام JavaScript.
أولاً، قم بإنشاء زر بسيط في HTML الخاص بك:
<button id="animatedButton">Click Me</button>ثم، أضف بعض لغة CSS الأساسية لتنسيق الزر:
#animatedButton {
padding: 10px 20px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
transition: transform 0.2s, background-color 0.2s;
}الآن، أضف JavaScript لإنشاء حركة النقر:
const button = document.getElementById('animatedButton');
button.addEventListener('click', function() {
// أضف فئة لتأثير النقر
button.classList.add('button-clicked');
// قم بإزالة الفئة بعد اكتمال الحركة
setTimeout(function() {
button.classList.remove('button-clicked');
}, 200);
});أخيرًا، أضف كود CSS لتأثير الحركة:
.button-clicked {
transform: scale(0.95);
background-color: #45a049;
}عند النقر، سيتقلص الزر الآن قليلاً ويتغير لونه، مما يوفر استجابة بصرية للمستخدم.
التحدي
سهلعند النقر على الزر، أضف فئة CSS المسماة "button-clicked" إليه للحصول على تغذية راجعة مرئية.
أضف السطر الذي يطبق هذه الفئة داخل مستمع حدث النقر (click event listener).
جرّب بنفسك
<!DOCTYPE html>
<html>
<head>
<title>Button Animation Example</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Interactive Button Demo</h1>
<p>Click the button below to see a smooth animation effect.</p>
</header>
<main class="content">
<button id="animatedButton" class="btn">Click Me</button>
</main>
<script src="script.js"></script>
</body>
</html>
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس JavaScript in Action
1التفاعلية / مكونات واجهة المستخدم
علامات التبويبالأكورديون (توسيع/طي)Modal (فتح/إغلاق)القائمة المنسدلةتدرّب بنفسك: Playground لـ Web