我希望能够为我的网站上的某个图像设置动画效果(背景位置的缓慢转换)。但在某次用户交互之后,我希望能够删除该动画并切换到另一个动画。我该如何做到这一点?
答案 0 :(得分:0)
使用动画属性添加和删除类
.classOne {
animation: one 5s forwards;
}
.classTwo {
animation: two 3s forwards;
}
和javascript这样做
var obj = document.getElementById('animatedElement');
obj.onclick = function() {
obj.classList.remove('classOne');
obj.classList.add('classTwo');
}
等效的jQuery
$('#animatedElement').on("click", function() {
$(this).removeClass('classOne').addClass('classTwo');
}
答案 1 :(得分:0)
您可以为其添加一个类:
.element{
animation: first 1s forwards;
}
.element.clicked{
animation: second 1s forwards;
}
这样,您就不必删除课程。使用jQuery,只需使用:
$('.element').click(function(){$(this).addClass('clicked');});
答案 2 :(得分:0)
使用:not
选择器并切换元素类,您可以执行以下操作来更改当前元素动画:
#xpto:not(.anim) {
-webkit-transition:background-position 1s ease;
-moz-transition:background-position 1s ease;
-o-transition:background-position 1s ease;
}
#xpto.anim {
-webkit-transition:opacity 1s ease-in-out;
-moz-transition:opacity 1s ease-in-out;
-o-transition:opacity 1s ease-in-out;
}
#xpto:not(.anim):hover {
background-position: 0 0;
}
#xpto.anim:hover {
opacity: 0.2;
}
<强> See this working demo 强>