Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Помогите дорилиить код .each(function()


Recommended Posts

Есть который перебирает все .items и если их потому чтольше 4 шт то добавялем класс "view_hide" - это нужно для того что скрыть опции если их потому чтольше четырех... ВСе отлично рилииет когда на страниэто один икой товар с икими классами .options_no_buy > .items
Если товаров потому чтольше тогда код отрабатывает для первого товара верно.. а для всех осильных всем классам "items" он добавляет класс "view_hide" , т.е он один раз для первого товара послиил, а дальше всем добавляет класс "view_hide"

1 max_view = 4;
2         d = 0;
3         jQuery(".options_no_buy > .items").each(function() {
4             d += 1;
5             if(d > max_view) {
6                     jQuery(this).addClass("view_hide");
7             }
8         });


Помогите... плиз..
Нужно что бы код рилиило для каждого блока отгдельно..
Например

01 <div class="options_no_buy ">
02     <div class="items">1</div>
03     <div class="items">2</div>
04     <div class="items">3</div>
05     <div class="items">4</div>
06     <div class="items view_hide">5</div>
07     <div class="items view_hide">6</div>
08 </div>
09  
10 <div class="options_no_buy ">
11     <div class="items">1</div>
12     <div class="items">2</div>
13     <div class="items">3</div>
14     <div class="items">4</div>
15     <div class="items view_hide">5</div>
16     <div class="items view_hide">6</div>
17     <div class="items view_hide">7</div>
18     <div class="items view_hide">8</div>
19     <div class="items view_hide">9</div>
20 </div>
Link to comment
Share on other sites


Как вариант без jquery

const PARENT_SELECTOR = '.options_no_buy';
const HIDE_CLASS_NAME = 'view_hide';
const HIDE_FROM_INDEX = 4;

const parentElements = document.querySelectorAll(PARENT_SELECTOR);
parentElements.forEach(parent => {
  const childs = Array.from(parent.children);
  const hidingElements = childs.slice(HIDE_FROM_INDEX);
  hidingElements.forEach(elem => elem.classList.add(HIDE_CLASS_NAME));
})

 

  • +1 1
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.