Onmousemove событие и закрытие javascript

Я не знаю, как объяснить, поэтому начну с демонстрации своего кода. Так у меня что-то вроде этого:

//array of all div's positions 
var zone = [];

//add a div's position in the array
function myFunction1(){
  var pos = getPos(div);
  zone[zone.length] = pos;
}

//when the mouse isn't in the zone of a div, delete all zones
function myEventFunction(e){
  var posMouse = xx; //define the pos of the mouse
  for(i=0: i<zone.length; i++){
    if (posMouse !== zone[i]){
      zone = [];
    }
  }
}

Конечно, это просто упрощенная версия моего кода.

функции работают, но есть проблема "тайминга". когда моя мышь покидает зону, она немедленно входит в другой div, который запускает "myFunction1". функция «myEventFunction» не успевает удалить все данные в зоне [], потому что в зоне [] есть новые данные, поэтому «if (posMouse! == zone [i])» является ложным, а не истинным.

Я думаю, мне нужно использовать закрытие, но я не знаю, как это сделать. Я не уверен, что мой вопрос достаточно понятен, но может ли кто-нибудь мне помочь?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
24
1

Ответы 1

Я думаю, вы можете захотеть изучить событие onmouseleave вместо onmousemove, которое срабатывает только один раз, когда вы переходите между div.

Проблема в том, что я добавляю более одного div в зону. поэтому я могу покинуть div, но не покинуть зону. "myFunction1" запускается при наведении мыши на div. и этот div имеет 2-8 других div, которые должны добавить позицию в зоне []. Когда я покидаю один из всех этих div, он должен удалить их из зоны []. Понимать? мой английский немного плохой ...

slowDevelopper 15.04.2018 23:51

Другие вопросы по теме