Code-NaN, один вариант — держать данные отдельно от разметки, это «правильно». Создать объект, где ключи - все возможные id, а значения true или false, в зависимости от выбранности. При событии input обновлять не только наличие/отсутствие классов, но и эти true/false в объекте. В конце смотреть, все ли true:
if (!Object.values(all_ids).some(el => el === false)) {
// у всех true
}
Другой, костыльный г-кодерский вариант это считать классы в jQuery. Взять все .table-item, проверять в цикле, есть ли класс .-active, если хоть у одного нет, можно дальше не проверять. Проверили все, у всех есть .-active, можно показать блок.
avdoshka, вот приняли мою правку вашего вопроса и стал виден скрипт. Ок.
Но теперь не понятно, какая у вас там разметка HTML. Какие «ещё две» картинки показывать.
Пройдите, пожалуйста, на jsFiddle
и сделайте там рабочий пример, чтобы как сейчас - по клику показывалась одна картинка, а рядом ещё две, которые тоже хочется показывать.
Иначе непонятно, как вам помочь.
для чайника поясните: у вершин уникальные id? у рёбер тоже есть id или они только связывают вершины, и считаются идентичными, если соединили совпадающие пары id ?
Приведите минимальный пример входных данных и результатов.
можно домножить процентную динамику на абс. значение изменений, тогда падение на 100% при единичиных событиях и падение на 0.001% при десятках тысяч будут равнозначимы.
Ян, смысл дерева немного в другом: в его обходе. С бинарным деревом вы перемещаетесь от корня, последоватльно отвечая на какой-то вопрос «да–нет».
На Хабре вот норм статья про бинарные деревья.
Кирилл Кузнецов, готовую не подскажу, но.. массив!
Пихать в настоящий WS по одному сообщению, и, (знаю, отстой), раз в X ms поллить размер настоящего буфера на предмет отправилось или ещё нет?
// every 100ms examine the socket and send more data
// only if all the existing data was sent out
setInterval(() => {
if (socket.bufferedAmount == 0) {
socket.send(moreData());
}
}, 100);
Можно сделать свою обёртку над буфером отправки. Чтобы в буфере самого WS было максимум одно сообщение, а остальные ждали в _вашей_ очереди, над которой вы полный хозяин.
Другой, костыльный г-кодерский вариант это считать классы в jQuery. Взять все .table-item, проверять в цикле, есть ли класс .-active, если хоть у одного нет, можно дальше не проверять. Проверили все, у всех есть .-active, можно показать блок.