سؤال

لدي قائمة بسيطة على صفحتي، والتي تستخدم رمز مسج هذا للتبديل الأساسي:

$("#left-nav .block h3").click(function(){
  $(this).next("ul").slideToggle("fast");
  $(this).toggleClass("active");
  $(this).siblings("h3").removeClass("active");
});

UL مفتوح (عرض: Block عبر CSS) بشكل افتراضي، لذلك انقر أولا على النقر، والخدمات UL (وهو أمر جيد)، ولكنه يضيف أيضا الفئة "النشطة" إلى قائمة مغلقة للتو! أنا أفهم صحيحة تقنيا، لكنها ليست النتيجة المرجوة.

ما الذي أغيره في التعليمات البرمجية بحيث يفعل X عند فتح القائمة بالفعل و y عندما عكس ذلك.

شكرا!

هل كانت مفيدة؟

المحلول

ربما كنت تبحث عن.

$("#left-nav .block h3").toggle(function(){
  $(this).next("ul").slideToggle("fast");
}, function() {
  $(this).toggleClass("active");
  $(this).siblings("h3").removeClass("active");
});

لذلك في البداية على النقر فوقها هل X، بدلا من ذلك هو Y.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top