"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يعمل النقر المزدوج على زر إظهار/إخفاء فقط عند الاستدعاء الثاني؟

لماذا يعمل النقر المزدوج على زر إظهار/إخفاء فقط عند الاستدعاء الثاني؟

تم النشر بتاريخ 2024-11-08
تصفح:523

Why Does a Double-Click Show/Hide Button Only Function on Second Invocation?

لماذا انقر نقرًا مزدوجًا لعرض/إخفاء الزر عند الاستخدام الأول؟

في صفحة الويب، يكون المقصود من الزر إظهار أو إخفاء عنصر، ولكنه يتطلب النقر المزدوج على استدعاءه الأولي. وبعد الفحص تبين أن رمز الزر هو:

function showhidemenu() {
  var x = document.getElementById("menu");
  if (x.style.display === "none") {
    x.style.display = "block";
  } else {
    x.style.display = "none";
  }
}

ترجع المشكلة إلى الحالة الأولية للعنصر بمعرف "القائمة". افتراضيًا، يتم تعيين خاصية عرض العنصر على "none" في CSS. عند استدعاء الدالة showhidemenu() للمرة الأولى، يتم إجراء الفحص التالي:

if (x.style.display === "none")

هذا الفحص يتم تقييمه إلى true لأن خاصية العرض الأولية للعنصر هي "لا شيء". وبالتالي، يتم تعيين عرض العنصر على "حظر". ومع ذلك، عند النقر التالي، يتم تعيين خاصية العرض على "لا شيء" كما هو متوقع.

لمعالجة هذه المشكلة، يجب تعيين خاصية العرض الأولية للعنصر على "فارغ" بدلاً من "لا شيء". ويضمن القيام بذلك تقييم التحقق من الوظيفة بشكل صحيح عند النقرة الأولى.

if (x.style.display === "none" || x.style.display === "")

مع هذا التعديل، سيظهر الزر العنصر عند النقرة الأولى، على النحو المنشود.

بيان الافراج أعيد طبع هذه المقالة على: 1729206136 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3