У меня есть 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/