Size: a a a

JavaScript — русскоговорящее сообщество

2020 February 04

E

Elijah in JavaScript — русскоговорящее сообщество
Все уже написано
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Lookarious
addEventListener будет при каждом наведении снова добавлять эту функцию а onclick только один раз
с мобилы помочь не выйдет..
onXXX вариант не прокатит
и проблему вы не поняли видимо
addEventListener не добавляет функцию каждый раз
я ж забиндил единожды на mouseenter и mouseleave

кода много (можно посворачивать методы) и перейти к логике (в конце)
источник

KS

Konstantin Sedykh in JavaScript — русскоговорящее сообщество
Znacovean Simion
с мобилы помочь не выйдет..
onXXX вариант не прокатит
и проблему вы не поняли видимо
addEventListener не добавляет функцию каждый раз
я ж забиндил единожды на mouseenter и mouseleave

кода много (можно посворачивать методы) и перейти к логике (в конце)
нее, правильно сказали выше, 100 пудов новые листенеры создаёшь при каждом наведении, а от старых не отписываешься.
источник

M

Michael in JavaScript — русскоговорящее сообщество
Elijah
Все уже написано
кем?
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Konstantin Sedykh
нее, правильно сказали выше, 100 пудов новые листенеры создаёшь при каждом наведении, а от старых не отписываешься.
а посмотреть код не вариант? зачем гадаете то)
посмотрите функцию
transitionEnd
она вызывает CUtil.one(el, transition, callback);
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
и вот уже one что делает
one: function onetime(el, type, callback) {

 el.addEventListener(type, function callee(e) {
   // remove event
   if (e.target && e.target.removeEventListener) {

     e.target.removeEventListener(e.type, callee);
   }

   // call handler
   return callback(e);
 });
},
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
то есть при первой отработке она удаляет свой листенер
источник

M

Michael in JavaScript — русскоговорящее сообщество
чет гдет 💩 кодом повеяло🤤
источник

V

Vlad in JavaScript — русскоговорящее сообщество
Elijah
Тема и шрифт для vs code
тема конечно отвратная
источник

E

Elijah in JavaScript — русскоговорящее сообщество
:D
источник

M

Michael in JavaScript — русскоговорящее сообщество
Znacovean Simion
всем привет
подскажите пожалуйста где мой косяк
Какой-то из методов написан неверно либо косяк в логике
Задача - при наведении на элемент - сперва добавлять класс промежуточного состояния, а после окончания transition - класс конечного состояния
при уходе с элемента - делать обратное действие.

Всё на ванилле, либа не моя, выдрал методы от которых работа кода зависит
Не могу понять либо я накосячил где-то либо у них какой-то метод не учитывает что-то

Что сделать:
1) Открыть https://codepen.io/7iomka/pen/jOPNaxp?editors=1011
2) открыть консоль и навести на сайдбар и увести..
Ожидание: должно вывести в консоль 2 лога..
Реальность: выводит 2 лога, 4лога, ... и так в геометрической прогрессии (наверное) кол-во логов увеличивается
Как-будто бы события не завершаются / не удаляются..
если расскоментить jquery вариант - всё будет работать как ожидалось.


Спасибо неравнодушным)
gsap🤔
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Michael
gsap🤔
я знаю что такое gsap) не надо мне его сюда приписывать)
задача конкретная и ясная) нужно разобраться в каком месте косяк
эта штука в топовой по продажам теме
так что со ссылками на левый код - к ним)
я лишь хочу разобраться где дичь закралась(
источник

L

Lookarious in JavaScript — русскоговорящее сообщество
Znacovean Simion
а посмотреть код не вариант? зачем гадаете то)
посмотрите функцию
transitionEnd
она вызывает CUtil.one(el, transition, callback);
Смотреть то смотрим но там ничего не понятно, думаю только ты понимаешь как это все работает и чёт твой код не читается, ты написал огроменную функцию которую можно написать с помощью trigger :D?
источник

M

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

L

Lookarious in JavaScript — русскоговорящее сообщество
Michael
дич в многоразовом навешивании событий, отсутствии таймлайнов
Он это отрицает
источник

M

Michael in JavaScript — русскоговорящее сообщество
это подтвержденный факт. (незачем удалять то что вешается однажды)
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Lookarious
Смотреть то смотрим но там ничего не понятно, думаю только ты понимаешь как это все работает и чёт твой код не читается, ты написал огроменную функцию которую можно написать с помощью trigger :D?
CUtil это объект с методами
сверните его пусть не мешает
почитайте код
если интересно что делает какой-то из методов - раскрываете и смотрите
это ведь не сложно
я выдрал методы которые участвуют в проблемной фиче
и не понимаю - вроде код понятный
все методы написаны норм
но работает всё не как надо(
где искать и как...вообще ахтунг(
источник

M

Michael in JavaScript — русскоговорящее сообщество
ну ты пытаешся там таймлайн навелосипедить. окей. 🤤
источник

ZS

Znacovean Simion in JavaScript — русскоговорящее сообщество
Michael
ну ты пытаешся там таймлайн навелосипедить. окей. 🤤
ничего я не пытаюсь
я взял готовый кусок кода и пытаюсь понять почему он работает с утечкой
вы мне предлагаете его переписать
я это могу банально заменив на код с jquery который там закомменчен
но задача - ПОНЯТЬ что не так - если один из методов неправильно реализован - какой?
если код где-то что-то не учитывает - где?
источник

M

Michael in JavaScript — русскоговорящее сообщество
а, т.е. ты сам не писал. ну ето еще *лучше
источник