البرمجة والذكاء الاصطناعي · الصف الأول الثانوي · الترم الأول
إنشاء صفحات ويب تفاعلية بالذكاء الاصطناعي وعرض موقعك تقديميًّا
برمجة صفحات ويب تفاعلية بلغات HTML وCSS وJavaScript بمساعدة الذكاء الاصطناعي التوليدي: تغيير لون الخلفية بزر، وتغيير المقال المعروض عند النقر على عنوان، وربط ملفات CSS وJavaScript بالوسمين link وscript، واستخدام addEventListener، ثم إعداد عرض تقديمي عن الموقع.
آخر تحديث: · كيف نراجع المحتوى
مقدمة
- الوحدة الثالثة عشرة: الذكاء الاصطناعي التوليدي — الموضوعان 13-5 و13-6
صنعت صفحة ثابتة، وتعلمت كيف تجعل زرًّا يغير نصًّا. الآن نطلب من الذكاء الاصطناعي التوليدي صفحات ديناميكية (تفاعلية) كاملة، ثم نفهم كودها ونطوره، وفي النهاية نعرض ما صنعناه وما تعلمناه أمام الزملاء.
أهداف التعلم
- أن تستخدم الذكاء الاصطناعي التوليدي لإنشاء صفحة تفاعلية بلغات HTML وCSS وJavaScript.
- أن تفهم كيف تُربط ملفات CSS وJavaScript بصفحة HTML.
- أن تستخدم
addEventListenerومصفوفة لتغيير محتوى الصفحة أو لونها عند النقر. - أن تعد عرضًا تقديميًّا منظمًا عن موقعك وما تعلمته.
شرح الدرس
الصفحات التفاعلية بالذكاء الاصطناعي
أمر توجيهي مقترح: “أنشئ صفحة تعريف بنفسك باستخدام HTML وCSS وJavaScript، واجعل لون الخلفية يتغير عند الضغط على زر”.
ثم نتبع الخطوات نفسها: نشغّل الكود، ونعدّله (مثلًا نضيف ألوانًا جديدة)، ونطلب شرحه. ولأن الذكاء الاصطناعي يولد كودًا مختلفًا في كل مرة، فالمهم أن تفهم الفكرة لا أن تحفظ كودًا بعينه.
ربط الملفات الثلاثة
- ملف CSS يُربط داخل
<head>بالوسم:<link rel="stylesheet" href="style.css">. - ملف JavaScript يُربط غالبًا في نهاية
<body>بالوسم:<script src="script.js"></script>، حتى تكون عناصر الصفحة قد ظهرت قبل أن يحاول الكود الوصول إليها.
الاستماع للأحداث: addEventListener
بدلًا من onclick يمكن كتابة:
btn.addEventListener("click", () => {
// الأوامر التي تُنفذ عند النقر
});
ومعناها: “استمع إلى حدث النقر على الزر، وعند حدوثه نفّذ الأوامر”. والحدث “click” أحد أحداث كثيرة، مثل مرور الفأرة فوق العنصر.
أمثلة وتطبيقات
مثال 1: تغيير لون الخلفية بين عدة ألوان
<h1>أهلًا بك في صفحتي</h1>
<button id="colorBtn">غيّر اللون</button>
<script src="script.js"></script>
const colors = ["white", "lightblue", "lightgreen", "lightyellow"];
let index = 0;
const colorBtn = document.getElementById("colorBtn");
colorBtn.addEventListener("click", () => {
index = (index + 1) % colors.length;
document.body.style.backgroundColor = colors[index];
});
الفكرة:
colorsمصفوفة ألوان (كالقوائم في Python)، وcolors.lengthعدد عناصرها وهو 4.letتعرّف متغيرًا يمكن أن تتغير قيمته، بخلافconst.(index + 1) % colors.lengthيزيد الرقم ثم يعيده إلى 0 بعد آخر لون: 1، 2، 3، 0، 1، … وهذا استخدام ذكي لباقي القسمة.
مثال 2: صفحة أخبار يتغير فيها المقال عند النقر على عنوانه
أمر توجيهي: “اكتب صفحة إخبارية بسيطة باستخدام HTML وCSS وJavaScript، واجعل النص الرئيسي يتغير عند النقر على أحد العناوين”.
<button class="headline" data-text="فاز فريق المدرسة بالبطولة.">الرياضة</button>
<button class="headline" data-text="افتُتح معمل الحاسب الجديد.">المدرسة</button>
<p id="article">اختر عنوانًا لقراءة الخبر.</p>
const article = document.getElementById("article");
const headlines = document.querySelectorAll(".headline");
headlines.forEach((h) => {
h.addEventListener("click", () => {
article.textContent = h.dataset.text;
});
});
querySelectorAll(".headline")تحدد كل العناصر التي لها الفئةheadline.forEachتمر على كل عنوان (مثلforفي Python)، وتضيف له مستمعًا للنقر.- عند النقر يُعرض نص الخبر المخزن في الخاصية
data-textللعنوان.
تطوير مقترح: أضف مقالات أخرى، أو اجعل لون الخلفية يتغير حسب المقال المعروض. وإذا صادفت أمرًا لا تعرفه (مثل querySelectorAll) فدوّنه واسأل عنه؛ فالذكاء الاصطناعي يساعدك على اكتشاف تقنيات تتجاوز معرفتك الحالية.
العرض التقديمي لموقع الويب (الموضوع 13-6)
لخّص عملك في عرض أمام مجموعتك وفق هذه النقاط:
- موضوع الموقع: مثل “موقع عن هواياتي” أو “موقع عن كرة القدم”.
- ما تعلمته في HTML: مثل ربط CSS وJavaScript بالوسمين
<link>و<script>، وإعطاء الزرidللتحكم فيه. - ما تعلمته في CSS: مثل تعيين لون الخلفية للمحدد
body، وتنسيق الأزرار. - ما تعلمته في JavaScript: مثل تحديد العناصر بـ
document.getElementById، وكتابة ما يحدث عند النقر بـaddEventListener.
ملاحظات مهمة
- إذا لم يعمل الزر، فتحقق من: تطابق
id، ووجود وسم<script>في مكانه الصحيح، وعدم وجود خطأ إملائي في أسماء الدوال (مثلaddEventListnerبدلaddEventListener). - أدوات المطور في المتصفح (Console) تعرض رسائل الأخطاء وتساعدك على تحديد مكانها.
- في العرض التقديمي اشرح ما فهمته أنت، ووضح الأجزاء التي ساعدك فيها الذكاء الاصطناعي بصدق.
المفاهيم الأساسية
- الصفحة التفاعلية (الديناميكية) تجمع HTML وCSS وJavaScript.
<link>لربط CSS، و<script src="...">لربط JavaScript.addEventListener("click", ...)لتنفيذ أوامر عند النقر.- المصفوفة وباقي القسمة
%لتكرار الدوران بين عدة قيم. - العرض التقديمي: الموضوع، ثم ما تعلمته في HTML وCSS وJavaScript.
ملخص الدرس
بمساعدة الذكاء الاصطناعي التوليدي ننشئ صفحات تفاعلية تجمع HTML للهيكل وCSS للشكل وJavaScript للتفاعل، ونربط الملفات بالوسمين link وscript. وبالدالة addEventListener ننفذ أوامر عند النقر، كتغيير لون الخلفية من مصفوفة ألوان أو عرض خبر مختلف. ثم نفهم الكود ونطوره، ونلخص ما تعلمناه في عرض تقديمي منظم.
أسئلة للتدريب
- ما وظيفة الوسم
<script src="script.js"></script>؟ ولماذا يوضع غالبًا في نهاية<body>؟ - ما الفرق بين
constوletفي JavaScript؟ - إذا كانت المصفوفة تحتوي على 4 ألوان وقيمة
indexتساوي 3، فما قيمة(index + 1) % 4؟ وما فائدة ذلك؟ - اكتب أمرًا توجيهيًّا لإنشاء صفحة تفاعلية عن المطاعم الموصى بها في منطقتك.
- اذكر النقاط الأربع للعرض التقديمي لموقع الويب.