【发布时间】:2014-06-27 11:26:14
【问题描述】:
我有一个像旧电话圆形拨号盘的图像。它里面有8个小圆圈。我想将它旋转 45 度,然后停止一段时间,然后旋转到下一个元素(更多 45 度)......这应该无限继续,并且表盘应该继续旋转。我使用 css 进行旋转,使用 jquery 来触发事件。问题是要无限旋转它。
CSS
.ghoomna1{
-webkit-transition: -webkit-transform 1s;z-index: 100;
-webkit-transform: scale(1,1) rotate(45deg) ;
}
.ghoomna2{
-webkit-transition: -webkit-transform 1s;z-index: 100;
-webkit-transform: scale(1,1) rotate(90deg) ;
}
.ghoomna3{
-webkit-transition: -webkit-transform 1s;z-index: 100;
-webkit-transform: scale(1,1) rotate(135deg) ;
}
.ghoomna4{
-webkit-transition: -webkit-transform 1s;z-index: 100;
-webkit-transform: scale(1,1) rotate(180deg) ;
}
.ghoomna5{
-webkit-transition: -webkit-transform 1s;z-index: 100;
-webkit-transform: scale(1,1) rotate(225deg) ;
}
.ghoomna6{
-webkit-transition: -webkit-transform 1s;z-index: 100;
-webkit-transform: scale(1,1) rotate(270deg) ;
}
.ghoomna7{
-webkit-transition: -webkit-transform 1s;z-index: 100;
-webkit-transform: scale(1,1) rotate(315deg) ;
}
.ghoomna8{
-webkit-transition: -webkit-transform 1s;z-index: 100;
-webkit-transform: scale(1,1) rotate(360deg) ;
}
JQUERY
(function( `$` ){
`$`.fn.myfunction = function() {
`$`("#dial").addClass("ghoomna1").delay(500).queue(function(next){
`$`("#dial").removeClass("ghoomna1").addClass("ghoomna2").delay(500).queue(function(next){
`$`("#dial").removeClass("ghoomna2").addClass("ghoomna3").delay(500).queue(function(next){
`$`("#dial").removeClass("ghoomna3").addClass("ghoomna4").delay(500).queue(function(next){
`$`("#dial").removeClass("ghoomna4").addClass("ghoomna5").delay(500).queue(function(next){
`$`("#dial").removeClass("ghoomna5").addClass("ghoomna6").delay(500).queue(function(next){
`$`("#dial").removeClass("ghoomna6").addClass("ghoomna7").delay(500).queue(function(next){
`$`("#dial").addClass("ghoomna8");
next();
});
next();
});
next();
});
next();
});
next();
});
next();
});
next();
});
};
}( jQuery ));
$('#dial').myfunction();
【问题讨论】:
-
如果您不介意使用插件,我建议您使用:creativecouple.github.io/jquery-timing 这是一种处理时间的简单方法,您可以使用 repeat()。
-
为什么不使用 CSS 动画?您可以将动画设置为无限运行。