لماذا انقر نقرًا مزدوجًا لعرض/إخفاء الزر عند الاستخدام الأول؟
في صفحة الويب، يكون المقصود من الزر إظهار أو إخفاء عنصر، ولكنه يتطلب النقر المزدوج على استدعاءه الأولي. وبعد الفحص تبين أن رمز الزر هو:
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 === "")
مع هذا التعديل، سيظهر الزر العنصر عند النقرة الأولى، على النحو المنشود.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3