القوائم المنسدلة
جزء من قسم JavaScript in Action في رحلة HTML على Coddy. الدرس 15 من 27.
Dropdown هي مكوّنات في واجهة المستخدم تكشف عن خيارات إضافية عند تفعيلها. تُستخدم عادةً في التنقّل لتنظيم المحتوى دون شغل مساحة كبيرة.
أولًا، لننشئ بنية HTML لقائمة منسدلة أساسية:
<div class="dropdown">
<button class="dropdown-toggle">Menu</button>
<div class="dropdown-menu">
<a href="#">Option 1</a>
<a href="#">Option 2</a>
<a href="#">Option 3</a>
</div>
</div>والآن، لنضف JavaScript لتبديل مستوى رؤية القائمة المنسدلة:
// Get the dropdown toggle button
const dropdownToggle = document.querySelector('.dropdown-toggle');
// Get the dropdown menu
const dropdownMenu = document.querySelector('.dropdown-menu');
// Add click event listener to the toggle button
dropdownToggle.addEventListener('click', function() {
// Toggle the 'show' class on the dropdown menu
dropdownMenu.classList.toggle('show');
});أخيرًا، أضف بعض CSS الأساسي لإخفاء/إظهار قائمة dropdown menu:
.dropdown-menu {
display: none;
}
.dropdown-menu.show {
display: block;
}عند النقر على زر "Menu"، ستظهر قائمة dropdown. وسيؤدي النقر عليها مرة أخرى إلى إخفاء القائمة.
التحدي
سهلأنشئ قائمة منسدلة تُظهر/تخفي المحتوى عند النقر على زر.
الخطوات:
- في HTML:
- أضف السمة
onclickإلى الزر، بحيث تستدعي دالة باسمtoggleDropdownعند النقر عليها
- أضف السمة
- في JavaScript:
- أنشئ دالة باسم
toggleDropdown - داخل الدالة، بدّل حالة الفئة "show" للعنصر ذي المعرّف “myDropdown”
- أنشئ دالة باسم
جرّب بنفسك
<!DOCTYPE html>
<html>
<head>
<title>Save the Forests</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Save the Forests</h1>
<p>Even planting one or two trees makes a difference.</p>
</header>
<div class="dropdown">
<button class="dropbtn">Learn More ▼</button>
<div id="myDropdown" class="dropdown-content">
<a href="#">Why forests matter</a>
<a href="#">How to grow a tree</a>
<a href="#">Community projects</a>
</div>
</div>
<main>
<section>
<h2>Why Trees Are Important</h2>
<p>
Forests clean our air, give us oxygen, and are home to countless animals.
Each tree you plant helps fight climate change and supports life on Earth.
</p>
</section>
<section>
<h2> Start Small</h2>
<p>
Don’t wait for a big change. Start with just one or two trees in your yard or community.
Your small action inspires others!
</p>
</section>
</main>
<footer>
<p> Together we can make the planet greener.</p>
</footer>
<script src="script.js"></script>
</body>
</html>
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس JavaScript in Action
1التفاعلية/مكوّنات واجهة المستخدم
علامات التبويبأكورديون (توسيع/طي)نافذة منبثقة (فتح/إغلاق)قائمة منسدلةتدرّب بنفسك: Playground لـ Web