سؤال

لدي عدد من النظائر مسج الفلاتر و نوعا.كل شيء يعمل بشكل جيد حقا, ولكن أود أن إنشاء زر إعادة الضبط.

لقد حاولت التالية (http://stackoverflow.com/questions/10297558/isotope-reset-all-combination-filters) , ولكن في حين أنه لا يبدو أن تعيين العناصر (على النقرة الثانية) ، فإنه لا إعادة تعيين أزرار مرشح.

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

المحلول

أنا أفترض أنك تعني "فإنه لا إعادة تعيين ظهور من تصفية أزرار" عند كتابة

[...] أنه لا إعادة تعيين أزرار مرشح.

إذا كان هذا هو الحال, و ظهور الفلتر-أزرار التحكم بواسطة CSS-الطبقات كما في النظائر هي أمثلة ، عليك ببساطة لإزالة قال CSS-فئة(es) من الزر تصفية العناصر عندما يقوم المستخدم بالنقر فوق "إعادة تعيين"زر.

في المصدر هـ.ز. النظائر هي 'مجموعة فلاتر'-مظاهرة ستجد التعليمات البرمجية التالي الذي يتعامل مع كل ما يحدث عند واحد من تصفية أزرار النقر:

// filter buttons
$('.filter a').click(function(){
  var $this = $(this);
  // don't proceed if already selected
  if ( $this.hasClass('selected') ) {
    return;
  }

  var $optionSet = $this.parents('.option-set');
  // change selected class
  $optionSet.find('.selected').removeClass('selected');
  $this.addClass('selected');

  // store filter value in object
  // i.e. filters.color = 'red'
  var group = $optionSet.attr('data-filter-group');
  filters[ group ] = $this.attr('data-filter-value');
  // convert object into array
  var isoFilters = [];
  for ( var prop in filters ) {
    isoFilters.push( filters[ prop ] )
  }
  var selector = isoFilters.join('');
  $container.isotope({ filter: selector });

  return false;
});

أهم رمز (أمل) ذات الصلة السؤال يمكن العثور عليها في هذه السطور:

$optionSet.find('.selected').removeClass('selected');
$this.addClass('selected');
  • السطر الأول يزيل جميع 'المختارة'-الطبقات من جميع العناصر في $ب optionset (هذا الأخير مجرد كونها مجموعة من الأزرار التي تستهدف مرشح واحد-الملكية)
  • والثاني يحدد 'اختيار'الدرجة للعنصر المستخدم النقر على
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top