Anonymous
$('.news).on('click', function(evt){$('.news').removeClass('active_news'); $(evt.target).addClass('active_news')})
Anonymous
тут что грязный?
Дмитрий
Anonymous
ну коллеги тебе за твой чистый джс спасибо не скажут это точно
Дмитрий
При клике убираем у всех элементов классы, потом добавляем текущему элементу класс active news
такой вариант? _buttons = document.querySelector('section.news .buttons'); active_button = document.querySelector('section.news .new'); _buttons.onclick = function(e) { target = e.target; while (target != this) { if (target.classList.contains('new')) { swit(target); return; } target = target.parentNode; } if (target.classList.contains('active_news')) return false; } function swit(target){ if (active_button) { active_button.classList.remove('active_news'); } active_button = target; target.classList.add('active_news'); }
Дмитрий
но он еще сложнее выглядит чем первый, хотя и локаничней
Danila
как в vs code сделать так чтобы из вкладок "Проблемы", "Вывод" и т.д сразу была открыта вкладка "Терминал"?
Konstantin
@vs_code
Дмитрий
Вот на какие ужасы людей толкает отсутствие жквери)
но это все-равно работает быстрее чем джей)
Анатолий
Анатолий
_news.click(event => this.hasClass('active_news') && event.preventDefault()) _news.removeClass('active_news'); item.addClass('active_news'); _news_desc.css({opacity: 0, zIndex: -1});
Anonymous
_news_desc.css({opacity: 0, zIndex: -1
Anonymous
вот это рак
Anonymous
никогда так не делайте
Anonymous
Анатолий
Кажется, я триггернул жквери-хейтеров :)
Anonymous
индус стайл
Анатолий
но это все-равно работает быстрее чем джей)
Если там тысячи новостей на странице - то разница будет заметна, да. Но тогда экономящему на миллисекундах стоит задуматься, а что на одной его странице одновременно тысячи новостей и как это аукается конечному пользователю? Ему бедному будет уже плевать на миллисекунды
Anonymous
их там шесть
Anonymous
в каком именно движке и в какую сторону там будет разница
Дмитрий
шесть на одной странице
Анатолий
Если шесть - вообще ни в какую. Тогда есть смысл задуматься только об одной экономии времени. Об экономии своего собственного времени, потраченного на написание дикого количества кода :)
Anonymous
своего то ладно, кто такое "выписывает" м заявляет о нано секундах его уже не жалко, природа постаралась, а вот когда его замену попросят "эййй ну давай тут чтобы рамки вот сейчас только все наоборот и мигало"
Anonymous
вот этого человека жалко
Анатолий
Суровая реальность состоит в том, что в веб-бизнесе первое слово за тем, кто платит деньги :) По словам 99% разработчиков, они все моментально разрывают отношения с негодяями-заказчиками и все как один работают исключительно на мудрых, хороших, удобных заказчиков. Послушаешь - можно подумать, что полный интернет таких заказчиков ) все находят )
Anonymous
следи за метлой
по братски от души https://github.com/samgozman/YoptaScript
Дмитрий
по братски от души https://github.com/samgozman/YoptaScript
зачем ты мне даешь ссылку на свой карманный справоник? Я не просил
Anonymous
хаха йоптаскрипт
Anonymous
норм идея кстати
Anonymous
не юзабельная
Anonymous
но поржать норм
Anton
Я забыл разницу) но все используют map. Пока forEach не встречал)
вы прикалыватесь там? map возвращает преобразованный массив forEach перебирает массив и ничего не возвращает
Анатолий
Анатолий
Все всё отлично помнят, просто... подзабыли ))
Anton
используйте map - зачем писать на 4 символа больше?
I am
Подскажите, где нужно использовать weakSet?
I am
Тю, зачем тогда оно
Roman
нигде
на собеседованиях?))
Anonymous
во
Anonymous
нашлось применение
I am
Ну ет само собой ))
Roman
Подскажите, где нужно использовать weakSet?
ну вообще в основном используют для хранения значений которые можно собирать garbage collector
Roman
то есть если твой weak set это единственное место где референсится объект - он будет собран сборщиком
I am
Спасибо, будет что сказать собесе
Anonymous
подразумевает что другие значения так же не собираются когда на них нет ссылок
Anonymous
нет тут что-то другое
Anonymous
в смысле? там вест сет сразу соберется
I am
То есть можно создать специально текучую переменную?
Anonymous
типо итерируешь и заодно выкидываешь не нужные ?
Roman
речь не о самом сете, а о его содержимом
Anonymous
а вообще по аналогии с плюсами наверное сокрытие данных
Anonymous
но зачем оно нужно в скриптовом языке слабо понятно
Roman
грубо говоря помещение объекта в weakset не увеличивает счетчик использования этого объекта
Anonymous
счетчик использования?
Anonymous
что-то новенькое
Roman
почитай про garbage collector
Anonymous
я когда помоложе был даже не знал что это такое, сам писал конструкторы и деструкторы и коллектил
Anonymous
а вот что ты думаешь о этом интересно послушать
Roman
ты просто троллишь или что? был вопрос про weakset. ответ связан с garbage collector в js
Roman
weakset не мешает коллектору собрать свои значения
Roman
как реализован GC - на подсчете референсов или на mark&sweep - не важно
Anonymous
ну то есть создал виксет, коллектор запустился и тут же все оттуда поудалял?
Anonymous
зачем оно такое надо ?
Roman
например ты хочешь проверять существует ли что-то, но не хочешь чтобы эта проверка сама мешала собирать
Roman
например список дом элементов
Ваня
всем доброго дня. хочу научиться делать крутые анимации на сайте. слышал про библиотеку D3.js, но мало что о ней знаю. насколько она популярна/непопулярна и вообще стоит её изучать? благодарю за ответ
ЕК-47
Всем привет. А как с админами можно связаться?)
Igor
Всем привет. А как с админами можно связаться?)
правила в описании, проплаченные посты не постим
Anton
ну то есть создал виксет, коллектор запустился и тут же все оттуда поудалял?
const set = new Set(); (function() { const a = {b : 'c'}; set.add(a); })(); //на выходе переменая 'а' существует и хранится в сете const set = new WeakSet(); (function() { const a = {b : 'c'}; set.add(a); })(); //на выходе переменой 'а' больше нет и из сета она будет удалена коллектором
Roman
так можно делать например глобальные кеши