اجعلها تفعل شيئًا: تفاعلك الأول
اجعلها تفعل شيئًا
بطاقة التعريف تبدو رائعة — لكنها فقط تجلس هناك. انقر عليها، حرّكها، لا شيء يحدث. ذلك لأن HTML هو البنية و Tailwind هو التنسيق. أما السلوك فهو وظيفة JavaScript.
إليك السر الذي لا يخبر به أحدٌ المبتدئين: في الـ vibe coding لا تحفظ JavaScript عن ظهر قلب. أنت تصف ما الذي يجب أن يحدث، والـ AI يكتب الكود. السلوك مجرّد جملة:
"عندما ينقر أحدهم على زر الإعجاب، يرتفع الرقم بجانب القلب بمقدار 1."
أعطِ هذا الموجّه للـ AI، وسيُنتج شيئًا صغيرًا مثل هذا:
const btn = document.getElementById("like-btn");
btn.addEventListener("click", () => {
likes = likes + 1;
count.textContent = likes;
});
هذا كل شيء. ثلاث حركات، في كل مرة:
- اعثر على العنصر (
getElementById) - أنصت لحدث (
addEventListener("click", ...)) - غيّر شيئًا (
textContent، صنفًا، أي شيء)
اعثر، أنصت، غيّر. تقريبًا كل تفاعل في كل موقع استخدمته في حياتك — القوائم المنسدلة، مفاتيح الوضع الداكن، أزرار الإعجاب — هو نسخة ما من هذا النمط.
في هذا الدرس ستضيف عدّاد إعجابات إلى بطاقتك. وبنهايته ستنقر على قلب وتشاهد رقمًا تتحكم به أنت وهو يرتفع. تلك هي اللحظة التي تتحول فيها الصفحة إلى تطبيق.
التعليمات
أضف <button id="like-btn"> أسفل رابط الدعوة، وبداخله رمز قلب و <span id="like-count">0</span>
تلميح: جرّب: `<button id="like-btn" class="mt-4 w-full flex items-center justify-center gap-2 bg-white/10 hover:bg-white/20 border border-white/20 font-bold py-3 rounded-xl transition-all">❤️ <span id="like-count">0</span></button>`
أضف وسم <script> فارغًا قبل </body> مباشرة — هنا يسكن السلوك
داخل السكربت، أمسك بالعنصرين: الزر والعدّاد. استخدم document.getElementById مع المعرّفات (ids) التي أعطيتها لهما
أنصت للنقرات: addEventListener("click", ...) على الزر — زِد likes بمقدار 1 وحدّث الـ textContent الخاص بالعدّاد
الكود الخاص بك
صف ما تريد بناءه في هذه الخطوة وسأكتب الكود — ثم انقر «تطبيق» لإدراجه في محرّرك. هذه الخطوة: أضف <button id="like-btn"> أسفل رابط الدعوة، وبداخله رمز قلب و <span id="like-count">0</span>