@JSlang

Страница 2020 из 2237
Shemil
04.07.2018
04:21:27
У меня нет

Дмитрий
04.07.2018
04:22:49
Покажи свой код)
_news.forEach(function(item){ item.onclick = function() { if (this.classList.contains('active_news')){ return false; } _news.forEach(function(item){ if ( item.classList.contains('active_news') ) { item.classList.remove('active_news'); } }); item.classList.add('active_news'); _news_desc.forEach(function(item){ item.style.opacity = 0; item.style.zIndex = -1; });

Дмитрий
04.07.2018
04:25:17
Покажи свой код)
_news.map(item => { this.onclick = function() { if (this.classList.contains('active_news')){ return false; }

Google
Дмитрий
04.07.2018
04:25:25
как-то так должно выглядеть?

Дмитрий
04.07.2018
04:25:58
Shemil
04.07.2018
04:26:33
this ?
Погугли слово делегирования js. Не нужно ставить онклик на каждый элемент

Shemil
04.07.2018
04:30:51
этот
Вместо this.onclick используй item.onclick

Но код все равно сложный

Denis
04.07.2018
04:39:50
не пиши больше

даже школьник на джейквери изобразит $('.news).on('click', function(evt){$(evt.target).toggleClass('active_news')})

Дмитрий
04.07.2018
04:51:26
даже школьник на джейквери изобразит $('.news).on('click', function(evt){$(evt.target).toggleClass('active_news')})
там же не тоггл, там 6 элементов, один выделен, по клику убирается рамка у всех, а для item добаваляется

Google
Дмитрий
04.07.2018
04:52:40
Такое поведение с помощью event.target возможно реализовать?

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

Shemil
04.07.2018
05:12:18
Такое поведение с помощью event.target возможно реализовать?
При клике убираем у всех элементов классы, потом добавляем текущему элементу класс active news

Глобально храним все элементы в массиве Потом создаём функции, который удаляет все классы у элементов. removeClass(elements, 'active_news')

И да, пожалуйста, используйте декларативный стиль написания кода при работе с дом деревом

Denis
04.07.2018
05:28:08
$('.news).on('click', function(evt){$('.news').removeClass('active_news'); $(evt.target).addClass('active_news')})

Denis
04.07.2018
05:29:55
тут что грязный?

Дмитрий
04.07.2018
05:31:08
Denis
04.07.2018
05:31:45
ну коллеги тебе за твой чистый джс спасибо не скажут это точно

Дмитрий
04.07.2018
05:54:21
При клике убираем у всех элементов классы, потом добавляем текущему элементу класс 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'); }

но он еще сложнее выглядит чем первый, хотя и локаничней

Danil
04.07.2018
06:59:19
как в vs code сделать так чтобы из вкладок "Проблемы", "Вывод" и т.д сразу была открыта вкладка "Терминал"?

Konstantin
04.07.2018
07:01:52
@vs_code

Дмитрий
04.07.2018
07:17:41
Вот на какие ужасы людей толкает отсутствие жквери)
но это все-равно работает быстрее чем джей)

Анатолий
04.07.2018
07:18:13
_news.click(event => this.hasClass('active_news') && event.preventDefault()) _news.removeClass('active_news'); item.addClass('active_news'); _news_desc.css({opacity: 0, zIndex: -1});

Denis
04.07.2018
07:20:24
_news_desc.css({opacity: 0, zIndex: -1

Google
Denis
04.07.2018
07:20:31
вот это рак

никогда так не делайте

Hip
04.07.2018
07:20:48
Анатолий
04.07.2018
07:21:02
Кажется, я триггернул жквери-хейтеров :)

Denis
04.07.2018
07:21:08
индус стайл

Анатолий
04.07.2018
07:21:41
но это все-равно работает быстрее чем джей)
Если там тысячи новостей на странице - то разница будет заметна, да. Но тогда экономящему на миллисекундах стоит задуматься, а что на одной его странице одновременно тысячи новостей и как это аукается конечному пользователю? Ему бедному будет уже плевать на миллисекунды

Denis
04.07.2018
07:22:18
их там шесть

в каком именно движке и в какую сторону там будет разница

Дмитрий
04.07.2018
07:22:49
шесть на одной странице

Анатолий
04.07.2018
07:23:36
Если шесть - вообще ни в какую. Тогда есть смысл задуматься только об одной экономии времени. Об экономии своего собственного времени, потраченного на написание дикого количества кода :)

Denis
04.07.2018
07:25:00
своего то ладно, кто такое "выписывает" м заявляет о нано секундах его уже не жалко, природа постаралась, а вот когда его замену попросят "эййй ну давай тут чтобы рамки вот сейчас только все наоборот и мигало"

вот этого человека жалко

Анатолий
04.07.2018
07:27:24
Суровая реальность состоит в том, что в веб-бизнесе первое слово за тем, кто платит деньги :) По словам 99% разработчиков, они все моментально разрывают отношения с негодяями-заказчиками и все как один работают исключительно на мудрых, хороших, удобных заказчиков. Послушаешь - можно подумать, что полный интернет таких заказчиков ) все находят )

Denis
04.07.2018
07:27:46
следи за метлой
по братски от души https://github.com/samgozman/YoptaScript

Дмитрий
04.07.2018
07:30:40
по братски от души https://github.com/samgozman/YoptaScript
зачем ты мне даешь ссылку на свой карманный справоник? Я не просил

Hip
04.07.2018
07:31:35
хаха йоптаскрипт

норм идея кстати

не юзабельная

но поржать норм

Google
Антон
04.07.2018
07:37:43
Я забыл разницу) но все используют map. Пока forEach не встречал)
вы прикалыватесь там? map возвращает преобразованный массив forEach перебирает массив и ничего не возвращает

Анатолий
04.07.2018
07:38:05
Все всё отлично помнят, просто... подзабыли ))

Антон
04.07.2018
07:38:59
используйте map - зачем писать на 4 символа больше?

Slava
04.07.2018
07:39:47
Подскажите, где нужно использовать weakSet?

Admin
ERROR: S client not available

Slava
04.07.2018
07:50:07
Тю, зачем тогда оно

Roman
04.07.2018
07:50:22
нигде
на собеседованиях?))

Denis
04.07.2018
07:50:28
во

нашлось применение

Slava
04.07.2018
07:50:41
Ну ет само собой ))

Roman
04.07.2018
07:53:13
Подскажите, где нужно использовать weakSet?
ну вообще в основном используют для хранения значений которые можно собирать garbage collector

то есть если твой weak set это единственное место где референсится объект - он будет собран сборщиком

Slava
04.07.2018
07:54:26
Спасибо, будет что сказать собесе

Denis
04.07.2018
07:55:36
подразумевает что другие значения так же не собираются когда на них нет ссылок

нет тут что-то другое

Roman
04.07.2018
07:57:36
Denis
04.07.2018
07:58:20
в смысле? там вест сет сразу соберется

Google
Slava
04.07.2018
07:58:34
То есть можно создать специально текучую переменную?

Denis
04.07.2018
07:59:07
типо итерируешь и заодно выкидываешь не нужные ?

Roman
04.07.2018
08:00:28
речь не о самом сете, а о его содержимом

Denis
04.07.2018
08:00:38
а вообще по аналогии с плюсами наверное сокрытие данных

но зачем оно нужно в скриптовом языке слабо понятно

Roman
04.07.2018
08:01:28
грубо говоря помещение объекта в weakset не увеличивает счетчик использования этого объекта

Denis
04.07.2018
08:02:19
счетчик использования?

что-то новенькое

Roman
04.07.2018
08:02:51
почитай про garbage collector

Denis
04.07.2018
08:03:45
я когда помоложе был даже не знал что это такое, сам писал конструкторы и деструкторы и коллектил

а вот что ты думаешь о этом интересно послушать

Roman
04.07.2018
08:05:49
ты просто троллишь или что? был вопрос про weakset. ответ связан с garbage collector в js

weakset не мешает коллектору собрать свои значения

как реализован GC - на подсчете референсов или на mark&sweep - не важно

Denis
04.07.2018
08:09:27
ну то есть создал виксет, коллектор запустился и тут же все оттуда поудалял?

зачем оно такое надо ?

Roman
04.07.2018
08:11:26
например ты хочешь проверять существует ли что-то, но не хочешь чтобы эта проверка сама мешала собирать

например список дом элементов

Страница 2020 из 2237