Как я могу сгладить это при анимации при наведении курсора? - PullRequest
1 голос
/ 03 сентября 2011

У меня есть div, который анимирует влево и вправо в зависимости от положения мыши, но он слишком нервный (особенно в IE).

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

JQuery

$('#videoThumbContainer').mousemove(function(e){

    var offset = $(this).offset(),
    containerWidth = $(this).width(),
    runnerWidth = $('#videoThumbRunner').width(),
    relativeX = e.pageX - offset.left,
    difference = parseInt(containerWidth - runnerWidth),
    position = (relativeX / containerWidth) * difference;

    if (runnerWidth > containerWidth) {

        $('#videoThumbRunner').stop().animate({left: position}, 50, 'linear');
    }
});

Демо

http://jsfiddle.net/cbXh5/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...