2016-12-07 6 views
1

Я хочу, чтобы анимация зависала на div. Но это не сработает, когда моя мышь находится на месте div, анимация не работает. Зачем ?Mousemove animate on hover

https://jsfiddle.net/udn5b9fd/

$(document).mousemove(function(e){ 
$("span").css({left:e.pageX - 50, top:e.pageY - 50}); 
}); 


$("div").hover(

    function() { 
    $("span").stop().animate({"height": "100px", "width": "100px"}, 200); 
    }, 
    function() { 
    $(this).stop().animate({"opacity": "0.5"}, 0); 
    }, 
    function() { 
    $(this).stop().animate({"opacity": "1"}, 0); 

}); 
+0

Вы не можете иметь три функции внутри парения декларации только один для в и один для вне .... Что это ожидаемое поведение? когда диапазон увеличивается, наведение на div равно null. – DaniP

ответ

2

Есть несколько исправлений, следует применять:

  1. Удалить 3-ю функцию от hover обратного вызова, так как он имеет только два параметра: Jquery Hover
  2. Обновить все свойства в каждом из обработчиков: opacity, height, width
  3. Добавить pointer-events: none стиль в ваш span элемент, чтобы не звонить hoverOut, когда ваша мышь под span.

Посмотрите на пример для более подробной информации: JSFiddle example

 Смежные вопросы

  • Нет связанных вопросов^_^