Modal (فتح/إغلاق)
جزء من قسم JavaScript in Action في رحلة HTML على Coddy — الدرس 3 من 27.
النافذة المنبثقة (modal) هي نافذة صغيرة تظهر "فوق" الصفحة لجذب انتباه المستخدم. تُستخدم غالباً لنماذج تسجيل الدخول، أو الإشعارات، أو التأكيدات. هكذا قد تبدو:

الأفكار الرئيسية:
- النافذة المنبثقة مخفية افتراضيًا (
display: none). - النقر على زر "فتح" يُشغل الدالة
openModal()← يضبطdisplay: block.
- داخل النافذة المنبثقة (modal)، يقوم زر الإغلاق (×) بتشغيل الدالة
closeModal()← يضبطdisplay: none. - غالبًا يمكنك أيضًا جعلها تُغلق عن طريق النقر خارج النافذة المنبثقة (modal) (على الطبقة الداكنة المغطاة).
<!-- Button to open modal -->
<button onclick="openModal()">Open Modal</button>
<!-- Modal overlay + content -->
<div id="overlay" style="display:none;">
<div class="modal">
<span onclick="closeModal()">×</span>
<p>This is a modal window.</p>
</div>
</div>
<script>
function openModal() {
document.getElementById("overlay").style.display = "block";
}
function closeModal() {
document.getElementById("overlay").style.display = "none";
}
</script>التحدي
سهللدينا صفحة ويب تحتوي على أزرار بطابع الفضاء تعرض حقائق فضائية مثيرة للاهتمام في نافذة منبثقة (modal). يتم استدعاء دالة تسمى openModal عند النقر على أي زر حقيقة فضائية. مهمتك هي كتابة الكود داخل openModal بحيث تصبح النافذة المنبثقة مرئية.
- للقيام بذلك، قم بتعيين خاصية
displayللعنصر الذي يحمل المعرف (ID)"fact"إلى"block".
جرّب بنفسك
<!DOCTYPE html>
<html>
<head>
<title>Space Facts – Modal Example</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Space Facts</h1>
<p>Click the button below to learn something cool about space.</p>
<!-- Buttons that open modals -->
<button onclick="openModal('fact')">Fact 1</button>
<!-- Overlay + Modal Content -->
<div id="overlay" class="overlay" onclick="closeModal()">
<div id="fact" class="modal">
<span class="close-btn" onclick="closeModal()">×</span>
<h2>Shooting Stars</h2>
<p>Shooting stars are actually tiny meteors burning up as they enter Earth’s atmosphere.</p>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس JavaScript in Action
1التفاعلية / مكونات واجهة المستخدم
علامات التبويبالأكورديون (توسيع/طي)Modal (فتح/إغلاق)القائمة المنسدلة