首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重置transform: rotate()而不调用-webkit-transition: style

重置transform: rotate()而不调用-webkit-transition: style
EN

Stack Overflow用户
提问于 2016-05-04 20:00:52
回答 1查看 1.1K关注 0票数 1

我正在画布上画一个轮子,旋转它,然后想要将旋转重置为0。然而,由于css属性:-webkit-transition: -webkit-transform 15s ease;在重置旋转时,它是从r -> 0旋转的,需要15秒。有没有一种方法可以在不调用transform 15s ease的情况下重置旋转?

在旋转转换完成后,我在画布上重新绘制数据,因此需要立即重置。

非常感谢

代码语言:javascript
复制
var r=-(3600 + random);
$("#wheel").css("transform","rotate("+r+"deg)");
$("#wheel").css("-moz-transform","rotate("+r+"deg)");
$("#wheel").css("-webkit-transform","rotate("+r+"deg)");
$("#wheel").css("-o-transform","rotate("+r+"deg)");

$("#wheel").one('webkitTransitionEnd', function() {
    $("#wheel").css("transform","none");
    $("#wheel").css("-moz-transform","none");
    $("#wheel").css("-webkit-transform","none");
    $("#wheel").css("-o-transform","none");
});
EN

回答 1

Stack Overflow用户

发布于 2018-01-17 13:59:49

我想我有一个解决方案。通过在将类更改为动画旋转类之前短暂地将css类更改为“默认旋转”类,您可以控制每个单独类上的动画计时,以便在旋转到新位置之前将轮子捕捉回起始位置。

css:

代码语言:javascript
复制
.spin0 {
    transform: rotate(0deg);    
}

.spin750 {
    transform: rotate(750deg) !important;
    transition-duration: 2.5s !important;
}

js (点击):

代码语言:javascript
复制
element.className = "spin0";

setTimeout(function(){
    element.className = "spin750";
}, 10); 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37027199

复制
相关文章

相似问题

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