Created
May 23, 2012 11:25
-
-
Save s0ber/2774683 to your computer and use it in GitHub Desktop.
mousemove event handler
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Обработчик наведения курсора мыши на аватарку (плавное смещение фона при движении курсора мыши над аватаркой) | |
avatarHoverEvent: function(e) { | |
var $this = $(e.currentTarget), | |
offset = $this.offset(), | |
side = this.avatarsSide, | |
x = e.pageX - Math.floor(offset.left), | |
y = e.pageY - Math.floor(offset.top), | |
percentX = Math.round(x / side * 100), | |
percentY = Math.round(y / side * 100), | |
dataType = $this.attr('data-type'); | |
if (dataType != 'total') { | |
$this | |
.find('.js-feed-item-icon-content') | |
.css('background-position', percentX + '% ' + percentY + '%'); | |
} | |
} |
попробуй animate вместо css - изменение позиции возможно будет плавнее
@s0ber Ну скинь ссылочку что ли посомтреть как переделал
@a-ignatov-parc Всё потер уже, к сожалению. Но там как оказалось некоторые вещи были некроссбраузерными.
Такой функционал необходимо реализовывать за счет нескольких событий:
- mouseenter - ты получаешь
offset()
иконки + позицию мышки так же ты высчитываешь получаешь все необходимые значения + ты кешируешь необходимые дом элементы; - mousemove - по позиции мышки и ранее закешированым значениям ты высчитываешь окончательное смещение и выставляешь его закешированному элементу
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Переписал всё на чистый js с кешированием и без использования jQuery. Визуально не увидел улучшения производительности ._.