Задать вопрос
@RaulDuke

Как сделать плавный эффект transform: scale?

Всем привет,

сразу извиняюсь за некорректный вопрос (он не отражает суть вопроса), но как сформулировать эту проблему в одну строчку я так и не придумал.

Есть картинка, при наведении на нее мыши она должна плавно увеличиваться и двигаться в зависимости от координат указателя. Я всю бошку себе разломал, но так и не придумал как это сделать. Самый простой вариант это конечно:

.portfolio-item {
    transition: all .3s ease;
}


$('.portfolio-item')
        .mousemove(function(e) {
            $(this).css({
                    'transform': 'matrix(1.1, 0, 0, 1.1, ' + (e.offsetX * -0.05) + ', ' + (e.offsetY * -0.05) + ')',
                });
        })


Но в этом случае эффект движение картинки происходит через анимацию transition, не очень отзывчиво получается, да и притормаживает. Если убираем transition то при наведении картинка резко увеличивается на 10%, а мне нужна плавность.

Вообщем, что я только не пробовал (не буду утомлять вас своими страданиями), но так и не нашел решения, простой, казалось бы, задачи.

Сразу скажу:
background-position для движения не предлагать,
background-size для увеличения не предлагать (на картинке cover и он таким и должен оставаться),
animate не работает с transform,
transform: translate на картинке + transform: scale на обертке для картинки не работает, точнее работает не так как хочется: при наведении мыши он сдвигает картинку образуется белая щель с соседним элементом и только потом начинает ее увеличивать - ацки не красиво.
и да, плагины не предлагайте, это уж совсем дно, тащить сторонние плагины в проект под такие задачи.
  • Вопрос задан
  • 1599 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 3
@chirskiy_mixail
Очень давно занимаюсь версткой, имею огромный опыт
Очень крутая вещь, имеет много настроек, в свое время использовал
https://github.com/robbue/jquery.panr
Ответ написан
@litvin2
Попробуй здесь посмотреть, как это реализовано: the7.dream-demo.com/demo/news при наведении на эту картинку:

c80026b369b7477b831082f6207424b9.png
Ответ написан
Комментировать
provex
@provex
Front-end Developer
В общем друг у транситиона есть такие вещи как управления для той или иной анимации ну имееца виду можно настроить вначале чтобы увеличивалась потом двигалась если и это не то тогда извини )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы