这是我的问题。我希望我的图像逐渐动画,以便在一秒钟内转动360°。所以每3ms 1deg每1000ms做360deg。现在没有任何事情发生:(。
提前致谢。
这是代码
CSS:
#sec {
position: absolute;
top:200px;
left: 300px;
transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transition: transform 1s;
}
HTML:
<img id="sec" src="sec-02.png" />
使用Javascript:
$(document).ready(function() {
setInterval(function() {
var srotate = "rotate(1deg)";
$("#sec").css({
"-moz-transform": srotate,
"-webkit-transform": srotate
});
}, 3);
});
答案 0 :(得分:4)
答案 1 :(得分:0)
您实际使用var srotate = "rotate(1deg)";
进行的操作是每3毫秒将旋转设置为1度。你需要每3毫秒添加一度。
尝试此操作迭代度数直到360:
var degree = 1; // Declare outside your interval loop
setInterval(function(){ // Add this to your loop
degree++;
if(degree % 360 == 0){
degree = 1;
}
var str = 'rotate(' + degree + 'deg)'; // str now equals your string for transforms.
});
Read more here关于变换。
模数(%)运算符由于脚本执行,使用setInterval时,“时钟”可能会在长时间内延迟。 More on this here
答案 2 :(得分:0)
因为您在示例中使用了一些CSS3规则,这里有一些纯CSS3规则:http://jsfiddle.net/semencov/RkysX/