اذهب إلى المحتوى

السؤال

نشر (معدل)

مرحبا جميعا ارجوكم احتاج الى المساعدة 

لدي شيفرة برمجية لصفحة بحث عن المنتجات لسبب ما تظهر ايقونة المفضلة الخاصة ببطاقة المنتج فوق قائمة الفلترة رغم ان قائمة الفلترة لها z-index اعلى كما ان القائمة تغلق تلقائيا بمجر النقر على احد خيارات الادخال بحثت عن حل لهذه المشكلة كثيرا دون جدوى كما جربت الاستعانة بادوات الذكاء الاصطناعي لكن لم اجد حل فعال ايضا, ارفقت مقطع فديو للمشكلتين للتوضيح اكثر , اتمنى مم من لديه الخبرة مساعدتي شاكراً لكم ذلك.

(تعديل)😅

مرحبا جميعا لقد حللت مشكلة ظهور الايقونة المفضلة فوق القائمة تبقت المشكلة الثانية  الخاصة بمربعات الادخال فقط ارجو مساعدتي بها من فضلكم..

pr.zip

تم التعديل في بواسطة محمود الساعور2
حللت احد مشاكل السؤال وتبقت مشكلة

Recommended Posts

  • 1
نشر

إذا كان هذا السؤال خاصة بأحد دروس الأكاديمية،  ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.

ولكن سأحاول توضيح ل المشكلة لك أو بسبب  أن العنصر filter-options تأخذ الخاصية position:absolute فإنها لا تعمل مع ال z-index لذلك لحل المشكلة احذف ال z-index للعنصر .add-to-fav

وبالنسبة للمشكلة الثانية فهي سلوك طبيعي للكود الموجود حيث أن الكود التالي 

filterContent.addEventListener('click', function (event) {
      const filterGroup = event.target.closest('.filter-group');
      if (filterGroup) {
        filterGroup.remove();
        const filterTab = Array.from(filterTabs).find(tab => tab.dataset.target === filterGroup.id.replace('active-', ''));
        if (filterTab) {
          filterTab.classList.remove('selected');
        }
      }
    });

مسؤل عن حذف ال filterGroup عن الضغط عليها ولكن حاول التعديل على هذا الكود ليجعل حذف ال filterGroup عند تغيير قيمة ال select مثلاً كالتالي

filterContent.addEventListener('change', function (event) {
  // التحقق من أن العنصر الذي تم التفاعل معه هو select
  if (event.target.matches('select')) {
    const filterGroup = event.target.closest('.filter-group');
    if (filterGroup) {
      filterGroup.remove();
      // العثور على التبويب المرتبط بمجموعة الفلترة هذه
      const filterTab = Array.from(filterTabs).find(tab => tab.dataset.target === filterGroup.id.replace('active-', ''));
      if (filterTab) {
        filterTab.classList.remove('selected');
      }
    }
  }
});

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...