首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一个css3动画替换为另一个

将一个css3动画替换为另一个
EN

Stack Overflow用户
提问于 2013-08-22 14:26:54
回答 3查看 42关注 0票数 0

我希望能够为我的网站上的某个图像设置动画效果(背景位置的缓慢过渡)。但是经过一定的用户交互后,我希望能够删除该动画并切换到另一个动画。我怎样才能做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-22 14:31:32

您可以在其中添加一个类:

代码语言:javascript
复制
.element{
    animation: first 1s forwards;
}
.element.clicked{
    animation: second 1s forwards;
}

这样,您就不必删除类。对于jQuery,只需使用以下内容:

代码语言:javascript
复制
$('.element').click(function(){$(this).addClass('clicked');});
票数 0
EN

Stack Overflow用户

发布于 2013-08-22 14:29:20

添加和删除具有动画属性的类。

代码语言:javascript
复制
.classOne {
    animation: one 5s forwards;
}
.classTwo {
    animation: two 3s forwards;
}

以及这样做的javascript

代码语言:javascript
复制
var obj = document.getElementById('animatedElement');
obj.onclick = function() {
    obj.classList.remove('classOne');
    obj.classList.add('classTwo');
}

等效jQuery

代码语言:javascript
复制
$('#animatedElement').on("click", function() {
    $(this).removeClass('classOne').addClass('classTwo');
}
票数 0
EN

Stack Overflow用户

发布于 2013-08-22 14:58:27

使用:not选择器并切换元素类,您可以这样做来更改当前的元素动画:

代码语言:javascript
复制
#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;
}

请参阅此工作演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18383273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档