имеет функцию, которая называется onmouseover, которая анимирует элемент, который был засунут вниз, после того, как мышь переместилась за пределы области, которую элемент занял, анимирует элемент резервного копирования. Функция работает нормально, но работает только один раз. Поэтому, если я навешиваю второй раз, функция не запускается. Я должен обновить страницу, чтобы функция снова запускалась. Любая помощь будет оценена.Javascript: onmouseover не запускается более одного раза
HTML:
Javascript:
function slideDown(item) {
$(item).animate({
top: '-100%'
}, 250, 'easeInOutCubic');
$(document).mousemove(function (e) {
if (e.pageX < $(item).offset().left || e.pageX > ($(item).offset().left + $(item).width()) || e.pageY < $(item).offset().top || e.pageY > ($(item).offset().top + $(item).height())) {
$(item).animate({
top: '-200%'
}, 250, 'easeInOutCubic');
}
});
};
Я бы сказал, что проблема с процентами вместо пикселей для вашей анимации. –
Почему вы привязываете событие mousemove к документу каждый раз, когда вызывается «slideDwon»? Они просто продолжат складывание, и скоро ваша страница станет очень медленной, потому что так много всего делается каждый раз, когда мышь перемещается. Вы также отключаете событие onmouseover от элемента. Может быть, вы хотели отвязать 'mousemove' от' document'? Тогда это '$ (document) .unbind (" mousemove ")' – Esailija
извините, $ (item) .unbind() не должен был быть включен. Я удалил его – user1165534