Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在“上设置旋转动画”;CSS3“;_Jquery_Html_Css - Fatal编程技术网

Jquery 在“上设置旋转动画”;CSS3“;

Jquery 在“上设置旋转动画”;CSS3“;,jquery,html,css,Jquery,Html,Css,如果我在CSS3中有这一点(据我所知,这不是CSS3,只是特定于浏览器): HTML jQuery(仅用于管理框上的悬停) 如何将动画设置为css旋转?我是说,不是一步一个脚印,而是流畅的。所以电影应该是“动画化”的。希望您理解我的意思:)假设您只想将动画应用于转换,您可以使用CSS3转换,特别是转换属性(定义哪些属性将有转换)和转换持续时间(指定从开始到完成的转换持续时间)。还有转换计时功能,允许您使用以下任何转换模式:线性|缓进|缓出|缓进|缓出|三次贝塞尔(n,n,n,n) 请参阅我对您的

如果我在CSS3中有这一点(据我所知,这不是CSS3,只是特定于浏览器):

HTML jQuery(仅用于管理框上的悬停)
如何将动画设置为css旋转?我是说,不是一步一个脚印,而是流畅的。所以电影应该是“动画化”的。希望您理解我的意思:)

假设您只想将动画应用于转换,您可以使用CSS3转换,特别是
转换属性(定义哪些属性将有转换)和
转换持续时间(指定从开始到完成的转换持续时间)。还有
转换计时功能
,允许您使用以下任何转换模式:
线性|缓进|缓出|缓进|缓出|三次贝塞尔(n,n,n,n)

请参阅我对您的JSFIDLE的修订->

您可以这样使用:


使用CSS3动画,如下所示:(示例仅针对firefox)。这将执行连续旋转,只需根据需要更改持续时间

#box.selected {    
    -moz-animation-name: rotation;  
    -moz-animation-duration: 2s;  
}

@-moz-keyframes rotation {
    from {  -moz-transform: rotate(0deg);  }      
    to   {  -moz-transform: rotate(30deg);  }
}  

以下是您试图做的:

重要的是要记住,在您试图设置动画的元素的class/id中,不要使用表示动画状态的类,而是使用原点和变换属性


干杯

您可以使用css本身旋转它……嘿,现在检查一下,您应该真正使用属性的简短形式。你答案中的代码真的是多余的。@Codemonkey是的,因此是
-ms-
版本的简写,我只是详细地演示了属性:)我将更新其他属性,使之成为简写。好吧!我的问题是旋转固定点:它会产生奇怪的效果,不会“围绕”旋转point@rudi_visser更好的是,完全删除Jquery并使用CSS伪类“:hover”,如@markzzz中所示,我认为这是因为原点也将被设置动画,因为它处于悬停状态,直接将其应用于#框。使用“变换原点”(transform origin)它也不起作用:(我围绕固定旋转点进行了一些奇怪的“移动”):(
#container
{
    padding:100px;
}

#box
{
    width:200px;
    height:200px;
    background-color:red;
}

#box.selected
{
    transform: rotate(30deg);
    -ms-transform: rotate(30deg); /* IE 9 */
    -webkit-transform: rotate(30deg); /* Safari and Chrome */
    -o-transform: rotate(30deg); /* Opera */
    -moz-transform: rotate(30deg); /* Firefox */        
}
​
$('#box').hover(
    function () {
        $(this).addClass('selected');
    },
    function () {
        $(this).removeClass('selected');
    }
);
#box
{
    width:200px;
    height:200px;
    background-color:red;
    transition-property: all;
    transition-duration: 0.3s;
    /* Explicit above, can also use shorthand */
    -o-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -ms-transition: all 0.3s;
    /* Also shorthand with the easing-function */
    -ms-transition: all 0.3s linear;
}
-webkit-transition: all 1s ease-in-out;
-moz-transition: all 1s ease-in-out;
-o-transition: all 1s ease-in-out;
-ms-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
#box.selected {    
    -moz-animation-name: rotation;  
    -moz-animation-duration: 2s;  
}

@-moz-keyframes rotation {
    from {  -moz-transform: rotate(0deg);  }      
    to   {  -moz-transform: rotate(30deg);  }
}