Size: a a a

JavaScript Noobs — сообщество новичков

2020 July 04

F

Flide in JavaScript Noobs — сообщество новичков
если они не являются строкой
источник

F

Flide in JavaScript Noobs — сообщество новичков
пытался слепить что-то самостоятельно, но выходила шляпа
источник

V

Vlad in JavaScript Noobs — сообщество новичков
Flide
и регами синтаксис отоброжажаю
дк может взять какую то либу которая подсвечивает синтаксис?
источник

SV

Steam Vis in JavaScript Noobs — сообщество новичков
Flide
пытался слепить что-то самостоятельно, но выходила шляпа
(?!.*")\d+
источник

SV

Steam Vis in JavaScript Noobs — сообщество новичков
источник

F

Flide in JavaScript Noobs — сообщество новичков
Steam Vis
(?!.*")\d+
спасибо большое
источник

A

Andrey in JavaScript Noobs — сообщество новичков
Есть аккордион. Раскрытым может быть только один блок.

let cardActive = 0; // Активный элемент по умолчанию

 for (let i = 0; i < card.length; i++) {
   card[i].addEventListener('click', function () {
     card[i].classList.toggle('active');
     card[cardActive].classList.remove('active');
     cardActive = i;
   });
 }

Если раскрыть какой-либо блок, затем закрыть и попытаться опять открыть, то не откроется. В чем косяк?
источник

М

Максим in JavaScript Noobs — сообщество новичков
Andrey
Есть аккордион. Раскрытым может быть только один блок.

let cardActive = 0; // Активный элемент по умолчанию

 for (let i = 0; i < card.length; i++) {
   card[i].addEventListener('click', function () {
     card[i].classList.toggle('active');
     card[cardActive].classList.remove('active');
     cardActive = i;
   });
 }

Если раскрыть какой-либо блок, затем закрыть и попытаться опять открыть, то не откроется. В чем косяк?
скорей всего из-за card[cardActive].classList.remove('active');
источник

М

Максим in JavaScript Noobs — сообщество новичков
ты тогглишь закрытый, он открывается и т.к. он был активным ему удаляет сразу активный класс
источник

A

Andrey in JavaScript Noobs — сообщество новичков
Максим
ты тогглишь закрытый, он открывается и т.к. он был активным ему удаляет сразу активный класс
Голову сломал. Либо тогл нормально работает, но предыдущий не закрываются.
Либо предыдущий закрывает, но тогл тупит)
источник

М

Максим in JavaScript Noobs — сообщество новичков
Andrey
Голову сломал. Либо тогл нормально работает, но предыдущий не закрываются.
Либо предыдущий закрывает, но тогл тупит)
https://codepen.io/Nomikama/pen/QWwqzwZ
Тут скрипт должен подойти под аккордион, посмотри
источник

A

Andrey in JavaScript Noobs — сообщество новичков
Максим
https://codepen.io/Nomikama/pen/QWwqzwZ
Тут скрипт должен подойти под аккордион, посмотри
Да интересно же понять как мой вариант исправить) Цель же не сделать, а разобраться
источник

М

Максим in JavaScript Noobs — сообщество новичков
Andrey
Да интересно же понять как мой вариант исправить) Цель же не сделать, а разобраться
Ну я написал в чем у тебя проблема. Ты например открыл блок, он записался как активный, ты его закрыл, открываешь снова и срабатывает скрипт, который удаляет активный класс у активного сейчас блока, а активный сейчас получается тот же, что ты открываешь снова
источник

A

Andrey in JavaScript Noobs — сообщество новичков
Максим
Ну я написал в чем у тебя проблема. Ты например открыл блок, он записался как активный, ты его закрыл, открываешь снова и срабатывает скрипт, который удаляет активный класс у активного сейчас блока, а активный сейчас получается тот же, что ты открываешь снова
Это я уже понял) Пока не понял как поправить)
источник

М

Максим in JavaScript Noobs — сообщество новичков
Andrey
Это я уже понял) Пока не понял как поправить)
Ну посмотри ссылку.. там принцип тот же - ищет класс active и ставит на кликнутый, а с другого удаляет.
источник

М

Максим in JavaScript Noobs — сообщество новичков
Могу теорией написать, если прям код не хочешь: ищи текущий active, удаляй, затем только ставь новый active на кликнутый
источник

A

Andrey in JavaScript Noobs — сообщество новичков
Максим
Могу теорией написать, если прям код не хочешь: ищи текущий active, удаляй, затем только ставь новый active на кликнутый
Пробовал так

for (let i = 0; i < card.length; i++) {
   card[i].addEventListener('click', function () {
     document.querySelector('.card.active').classList.remove('active');
     card[i].classList.toggle('active');
   });
 }

Но тогда если кликнуть по открытому не закрывает
источник

A

Andrey in JavaScript Noobs — сообщество новичков
Соответственно и в примерах по ссылке, если кликнуть на активный, то active не уберется
источник

М

Максим in JavaScript Noobs — сообщество новичков
Andrey
Соответственно и в примерах по ссылке, если кликнуть на активный, то active не уберется
А, понял...
источник

A

Andrey in JavaScript Noobs — сообщество новичков
Максим
А, понял...
Тут как-то нужно сравнить, что активный это не тот по которому кликнули
источник