
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;
});

Shemil
04.07.2018
04:25:09

Дмитрий
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
как-то так должно выглядеть?

Shemil
04.07.2018
04:25:56

Дмитрий
04.07.2018
04:25:58

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

Дмитрий
04.07.2018
04:26:52

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

Google

Дмитрий
04.07.2018
04:52:40
Такое поведение с помощью event.target возможно реализовать?
если дилегированием делать, то думаю да, можно. Если перебором, то мне кажется, что нет

Shemil
04.07.2018
05:12:18
Глобально храним все элементы в массиве
Потом создаём функции, который удаляет все классы у элементов. 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')})

Дмитрий
04.07.2018
05:29:26

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:12:05

Дмитрий
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:25:57

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

Denis
04.07.2018
07:27:46

Дмитрий
04.07.2018
07:30:40

Hip
04.07.2018
07:31:35
хаха йоптаскрипт
норм идея кстати
не юзабельная
но поржать норм

Google

Антон
04.07.2018
07:37:43

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

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

Shemil
04.07.2018
07:39:09

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

Admin
ERROR: S client not available

Denis
04.07.2018
07:48:45

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
то есть если твой 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
например ты хочешь проверять существует ли что-то, но не хочешь чтобы эта проверка сама мешала собирать
например список дом элементов