Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
-106 / 7 / 0
Регистрация: 24.04.2018
Сообщений: 408
1

Плавный наклон картинки с Jquery

15.12.2018, 11:54. Показов 762. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте люди.
Я при помощи свойства "animate" в Jquery решил создать наклон изображения на 6 градусов при наведении мыши.
Затем после того как мышь пропадет с картинки, то картинка должна плавно возвращаться в исходное положение.

Но анимация у меня не работает.
Подскажите люди добрые, где я допустил ошибку.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!DOCTYPE html>
 
<html>
 
 
 
     <head>
 
<meta charset="utf-8" />
 
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
 
    </head>
 
    
  
  <body>
 
 
 
  <div class ="gallery">
 
 
<img class="image-1" src="image1.jpg" alt=""/>
 
<img class="image-2" src="image2.jpg" alt=""/>
 
 
 
  </div>  
  
  
 
  </body>
 
</html>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
* {  
margin:0;
padding: 0;
outline: none;
}
 
img{
max-width:100%;
height: auto;    
}
 
.image-1{
width: 30%;
margin-left: 12%;   
height: 300px;
border: 8px solid white;
position: relative;
}
 
.image-2{
width: 30%;
margin-left: 12%;   
height: 300px;  
transform: rotate(3deg);    
border: 8px solid gray; 
position: relative;
}
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$(document).ready(function(){
    
 
$('.image-1').mouseenter(function(){
 
$(this).animate({'transform': 'rotate(6deg)' }, 400);
 
});
 
        
$('.image-1').mouseleave(function(){
 
$(this).animate({'transform': 'rotate(0deg)' }, 400);
 
}); 
    
 
});
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2018, 11:54
Ответы с готовыми решениями:

Плавный переход между картинками на слайде [jQuery]
Каков принцип слайда, где слайды меняются посредством изменением прозрачности? Серьёзно не могу...

Плавный переход от картинки к обычному фону
есть фото на фоне, как сделать, что бы где фото заканчивается, фон плавно переходил на обычный...

Плавный переход с одной картинки на другую
Народ, плизз помогите задали написать простейшую программу для просмотра картинок. Всего 4...

Плавный переход картинки при наведении
Как сделать плавную смену картинки при наведении курсора &lt;html&gt; &lt;head&gt; &lt;style&gt; ...

6
2232 / 1278 / 611
Регистрация: 23.08.2015
Сообщений: 3,228
15.12.2018, 13:31 2
Kerduk,
CSS
1
2
3
4
5
6
7
.image-1 {
  transition: transform .5s;
}
 
.image-1:hover {
  transform: rotate(3deg); 
}
0
-106 / 7 / 0
Регистрация: 24.04.2018
Сообщений: 408
15.12.2018, 14:54  [ТС] 3
sad67man, там ошибки нет. Я специально наклонил картинку.
На СSS я не хочу делать.
Мне нужно сделать анимацию именно при помощи свойства "animate" в Jquery.
0
2232 / 1278 / 611
Регистрация: 23.08.2015
Сообщений: 3,228
15.12.2018, 15:34 4
Kerduk, animate не умеет анимировать нечисловые свойства css, можно сделать через функцию step, анимируя любое не интересующее нас свойство
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$.fn.rotate = function(value, duration) {
  this.stop().animate({
    borderSpacing: value
  }, {
    step: function(now, fx) {
      $(this).css('transform', 'rotate(' + now + 'deg)');
    },
    duration: duration
  });
}
 
$('.image').hover(
  function() {
    $(this).rotate(6, 300);
  },
  function() {
    $(this).rotate(0, 300);
  }
);
https://jsfiddle.net/kp2boax3/1/
0
-106 / 7 / 0
Регистрация: 24.04.2018
Сообщений: 408
16.12.2018, 17:22  [ТС] 5
sad67man, благодарю вас.
Но я нашел баг в этом решении(((
При анимации, граница "border" искривляется приобретая эффект лестницы.
Вот ссылка на результат с багом: https://codepen.io/anon/pen/zyBYej

Скорее всего дело в свойстве 'transform'
Я нашел аналогичное свойство transform это "animateTo:"
Javascript
1
2
3
4
5
6
7
$('.image-1').rotate({ bind:{  
 
mouseenter:function(){ $(this).rotate({animateTo:6}) },  
 
mouseleave:function(){ $(this).rotate({animateTo:0}) }  
 
}});
Но здесь я снова допустил ошибку(((
Какую именно не могу понять.
0
-106 / 7 / 0
Регистрация: 24.04.2018
Сообщений: 408
17.12.2018, 12:59  [ТС] 6
Может дело в рендеринге браузера?
0
-106 / 7 / 0
Регистрация: 24.04.2018
Сообщений: 408
18.12.2018, 12:36  [ТС] 7
А каким еще методом в jquery можно повернуть картинку на 6 градусов не применяя "transform"?
0
18.12.2018, 12:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2018, 12:36
Помогаю со студенческими работами здесь

Как в canvas сделать плавный переход от одной картинки к другой?
В живых обоях переход от одного кадра к другому происходит с рывком. Задача минимум сгладить более...

Плавный выход фоновой картинки под кнопкой при наведении на кнопку
Здравствуйте. Есть такая задача: сделать плавный выход фоновой картинки под кнопкой при...

Обновление картинки Jquery
Всем доброго времени суток. Подскажите, как обновить картинку, при клике на чекбокс.

jquery открывает все картинки
У меня меню привязан к sitemap, где я добавил дополнительный аттрибут imgUrl(чтобы при наведении...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru