Size: a a a

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

2021 May 08

F

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

у меня mousemove событие на картинке, если курсор где-то остановился, то выполняется функция, если не остановился то таймер отменяется и заново (ничего не выполняется).
но есть проблема, что если ты уходишь за пределы изображения — таймер не обнуляется и почему-то оно выполняется 1 холостой раз, вот (считает видимо, что я где-то в крайней точке и остался, хоть я и вышел вообще из области).
источник

AO

Andrew Ostrovskii in JavaScript — русскоговорящее сообщество
ну так смотри
источник

AO

Andrew Ostrovskii in JavaScript — русскоговорящее сообщество
mousemove у тебя выполняться всё время, как ты мышку ведешь. И каждый раз создает НОВЫЙ таймер. Потом, в mouseout ты чистишь ТОЛЬКО последний таймер
источник

AO

Andrew Ostrovskii in JavaScript — русскоговорящее сообщество
а остальные должны сработать
источник

AO

Andrew Ostrovskii in JavaScript — русскоговорящее сообщество
А, стоп, ты его чистишь. Не увидел сразу
источник

F

Future in JavaScript — русскоговорящее сообщество
да, оно нормально работает, когда по области, а вот когда выйти, MouseOut вообще не выполняется почему-то, может конфликты событий какие-то
http://jsfiddle.net/pvm3nwk9/4/
источник

AO

Andrew Ostrovskii in JavaScript — русскоговорящее сообщество
слушай
источник

AO

Andrew Ostrovskii in JavaScript — русскоговорящее сообщество
mouseMout очепятка
источник

AO

Andrew Ostrovskii in JavaScript — русскоговорящее сообщество
источник

F

Future in JavaScript — русскоговорящее сообщество
блин) так и знал что что-то такое будет, спасибо
источник

AO

Andrew Ostrovskii in JavaScript — русскоговорящее сообщество
Я заметил, т.к. консольку не выводило на mouseout, В начале подумал, что я мб не правилно название евента помню
источник

АС

Алексей Смирнов... in JavaScript — русскоговорящее сообщество
Доброй ночи.
Ребята, кто сможет объяснить что происходит с JS?
Вот код js:
// vue
let tmpcellsq = {
   'mote' : {
       'zx' : 0
   },
   'upper' : '',
};
let newnum = 5;
for(var i=1; i<= newnum;i++){
   console.log('------ON-------');
   console.log('итерация: ' + i); // 1
   console.log(tmpcellsq); // 2  тут почему-то уже везде mote -> zx = 5 // откуда????
   tmpcellsq.mote = {
       'zx' : i
   };
   console.log(tmpcellsq); // 3 тут темболее mote -> zx = 5
   console.log('------OFF-------');
}
Почему у *i* итерация меняется, а mote не меняется в массиве до и после одинаковое значение 5. причем во всех итерациях i в tmpcellsq хранится только zx=5... никакоих 1... 2  3 4 5... в каждом цикле.
Уже день потратил на варианты... не понимаю почему так.
источник

K👀

Kos 👀 in JavaScript — русскоговорящее сообщество
var -> let
источник

АС

Алексей Смирнов... in JavaScript — русскоговорящее сообщество
без разницы.
источник

K👀

Kos 👀 in JavaScript — русскоговорящее сообщество
дело именно в этом. всплытие переменных
источник

АС

Алексей Смирнов... in JavaScript — русскоговорящее сообщество
нет. не помогет. везде zx=5.
источник
2021 May 09

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
У меня меняется
источник

AM

Anton Meleshko in JavaScript — русскоговорящее сообщество
Я бы прогнал объект через JSON.stringify перед выводом в консоль
источник

АС

Алексей Смирнов... in JavaScript — русскоговорящее сообщество
это хорошо. Но я узнал что необходимо клонировать объект чтобы с ним работать далее, тк. у меня там
.push(tmpcellsq)

И похоже вопрос снимается.
источник

OM

Oleg Mikhailov in JavaScript — русскоговорящее сообщество
Что будет если не ждать выполнения промиса, а продолжить выполнение кода? То есть просто не прописывать ему then и catch. Мысли как будто промис будет ждать продолжения и зависнет в памяти. Возникают подозрения не будет ли утечек памяти?
источник