0 / 0 / 0
Регистрация: 29.12.2017
Сообщений: 42

Как настроить slideToggle?

01.04.2018, 19:43. Показов 1332. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,есть такая структура элемента,и нужно сделать так чтобы при нажатие на опеределенный тайтл товар с классом товар показывало или прятало все его описания
HTML5
1
2
3
4
5
6
7
8
9
<li><strong class="title-tovar">Тип памяти:</strong></li>
            <li><a  class="category-tovar"  >GDDR5</a></li>
            <li><a  class="category-tovar"  >GDDR5X</a></li>
            <li><strong class="title-tovar">Разрядность шины памяти:</strong></li>
            <li><a  class="category-tovar"  >64bit</a></li>
            <li><a  class="category-tovar"  >128bit</a></li>
            <li><a  class="category-tovar"  >192bit</a></li>
            <li><a  class="category-tovar"  >256bit</a></li>
            <li><a  class="category-tovar"  >352bit</a></li>
JavaScript
1
2
3
4
5
6
7
8
$('.title-tovar').click(function(){
    let arc = $(this).toggleClass('active');
    if (arc = 'active'){
       $('.category-tovar').slideToggle(200);
    }
   
    
});
Сделал покамись такое,но не могу додуматься как допилить код в js
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.04.2018, 19:43
Ответы с готовыми решениями:

SlideToggle() отключить событие для блока внутри блока с .slideToggle()
У меня есть такой скрипт: $(&quot;.cl_item&quot;).click(function() { $(this).children(&quot;.cli_popup&quot;).slideToggle(); }); В...

Как работает метод slideToggle() внутри?
Здравствуйте, пишу свои велосипеды, учусь JS и теперь хочу повторить работу метода slideToggle() только на чистом JS. Условия те же...

SlideToggle
Есть код, который срабатывает при клике по элементу списка, а именно разворачивается меню и сворачивается. ...

1
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
02.04.2018, 13:57
Цитата Сообщение от LordPrimes Посмотреть сообщение
if (arc = 'active'){
Ваше условие будет всегда возвращать true потому-что вы в нем выполняете присвоение вместо сравнения. В добавок строка $(this).toggleClass('active') возвращает целевой элемент целиком, а не строку, которую вы проверяете.

Для более-менее стабильной работы прийдется изменить html например так:
https://codepen.io/anon/pen/EERjxz?editors=1010

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<ul>
  <li>
    <strong class="title-tovar">Тип памяти:</strong>
    <ul>
      <li><a  class="category-tovar"  >GDDR5</a></li>
      <li><a  class="category-tovar"  >GDDR5X</a></li>
    </ul>
  </li>
  
  <li>
    <strong class="title-tovar">Разрядность шины памяти:</strong>
    <ul>
      <li><a  class="category-tovar"  >64bit</a></li>
      <li><a  class="category-tovar"  >128bit</a></li>
      <li><a  class="category-tovar"  >192bit</a></li>
      <li><a  class="category-tovar"  >256bit</a></li>
      <li><a  class="category-tovar"  >352bit</a></li>
    </ul>
  </li>
</ul>
JavaScript
1
2
3
4
5
6
$('.title-tovar').click(function(){
    $(this).toggleClass('active');
    if ($(this).hasClass('active')){
       $(this).siblings('ul').slideToggle(200);
    }
});
Второй адекватный вариант - использовать атрибуты, типа такого:
HTML5
1
2
3
4
5
6
7
8
9
<li><strong class="title-tovar" data-target="category1">Тип памяти:</strong></li>
            <li data-category="category1"><a  class="category-tovar"  >GDDR5</a></li>
            <li data-category="category1"><a  class="category-tovar"  >GDDR5X</a></li>
            <li><strong class="title-tovar"  data-target="category2">Разрядность шины памяти:</strong></li>
            <li data-category="category2"><a  class="category-tovar"  >64bit</a></li>
            <li data-category="category2"><a  class="category-tovar"  >128bit</a></li>
            <li data-category="category2"><a  class="category-tovar"  >192bit</a></li>
            <li data-category="category2"><a  class="category-tovar"  >256bit</a></li>
            <li data-category="category2"><a  class="category-tovar"  >352bit</a></li>
JavaScript
1
2
3
4
$('.title-tovar').click(function(){
  const target = $(this).data('target');
  $(`[data-category=${target}]`).slideToggle(200);
});
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.04.2018, 13:57
Помогаю со студенческими работами здесь

SlideToggle
ПРивет всем, появилась такая задачка: есть N блоков с одинаковой структурой, надо, чтобы по клику на кнопке (more) появлялось окно...

Функция slideToggle
При клике на елемент у меня срабатывает slideToggle(); $('.element').slideToggle(function() { ... }) Моя функция вызваная...

Не правильно работает slideToggle
Есть блок, который в десктопной версии сайта отображается полностью, а в мобильной (480рх и меньше) только заголовок этого блока, а...

min-height и slideToggle
Может кто и подскажет как решить проблему. На странице есть блок div &lt;div class=&quot;album-list&quot; id=&quot;1&quot;&gt; &lt;/div&gt; ...

Slidetoggle одному div
стала такая задача не могу, slidetoggle назначить каждому div по отдельности если я нажимаю то открываются все блоки по клику, и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru