И так у нас есть математический маятник
После нажатие на кнопку запуск к картинке добавляется класс .objectAnimation( он описывает анимацию), надо сделать что колебания маятника со временем затухали!
/*Добавляем на кнопку анимацию*/
$(".st").click(function() {
$("#Object2").toggleClass("objectAnimation");
});
.objectAnimation {
display: inline-block;
transform-origin: 50% 0px;
animation-name: spin;
animation-duration: 550ms;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
animation-direction: alternate;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(-25deg);
}
100% {
-webkit-transform: rotate(25deg);
}
}
@keyframes spin {
0% {
transform: rotate(-25deg);
}
100% {
transform: rotate(25deg);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Возможно можно сделать так, чтобы с каждой секундой менялись
transform:rotate(25deg);
Или как-то так!
Если хотите, что бы блок качался больше времени, нужно добавить больше промежных отклонений в CSS
/*Добавляем на кнопку анимацию*/
$('button').click(function(){
clearInterval(time);
$("#Object2").toggleClass("objectAnimation");
var time = setTimeout(function() {
$("#Object2").removeClass("objectAnimation");
}, 5000); // Указать время, как в CSS
});
#Object2 {
width:10px;
height:200px;
background-color:red;
margin-left:250px;
}
.objectAnimation {
transform-origin: 50% 0px;
animation-name: spin;
animation-duration: 5000ms; /* Указать время, как в JS */
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
animation-direction: alternate;
-webkit-transform:rotate(-25deg);
}
@-webkit-keyframes spin {
0% {
-webkit-transform:rotate(-25deg);
}
10% {
-webkit-transform:rotate(25deg);
}
20% {
-webkit-transform:rotate(-20deg);
}
30% {
-webkit-transform:rotate(20deg);
}
40% {
-webkit-transform:rotate(-15deg);
}
50% {
-webkit-transform:rotate(15deg);
}
60% {
-webkit-transform:rotate(-10deg);
}
70% {
-webkit-transform:rotate(10deg);
}
80% {
-webkit-transform:rotate(-5deg);
}
90% {
-webkit-transform:rotate(5deg);
}
100% {
-webkit-transform:rotate(0deg);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Object2"></div>
<button>Раскачать</button>
Продвижение своими сайтами как стратегия роста и независимости