我的旋转游戏:查看源:http ://driptone.com/jony/applications/luckyspin/
上一个问题(关于动画的解释):CSS 纺车 5 秒后停止?
请点击“旋转”,它会旋转轮子。
我想在某个时候让轮子开始慢慢停止,慢慢地向动画添加更多的 MS,直到它变得非常慢。
是否可以在不重新设置图像的情况下制作?通过重新设置,我的意思是,如果车轮当前以 440 度旋转,则使其旋转得更慢,而不是将其重新设置为 0 度。
那可能吗?
考虑到我希望它在生成的数字出现后立即停止(AJAX 响应到达),我也将能够使用 Javascript
原始 JAVASCRIPT 代码:
function spinWheel() {
$(".wheel").html("<div class='wheel_spin_on'></div>");
}
function stopWheel() {
$(".wheel").html("<div class='wheel_spin' onClick='loadLuck();'></div>");
}
var timeoutID = '';
function loadLuck() {
clearTimeout(timeoutID);
spinWheel();
$("#luck").html('Spinning......');
timeoutID = setTimeout(function() {
$.post('ajax.php', {getLuck : '1'}, function(data) {
$("#luck").html(data);
stopWheel();
});
}, 3000);
}
CSS 代码:
.wheel_spin {
background-image: url("../img/spin2.png");
background-repeat: no-repeat;
width: 262px;
height: 261px;
margin-left: 1%;
}
.wheel_spin_finished {
background-image: url("../img/spin.png");
background-repeat: no-repeat;
width: 262px;
height: 261px;
margin-left: 1%;
}
.wheel_spin_on {
background-image: url("../img/spin.png");
background-repeat: no-repeat;
width: 262px;
height: 261px;
margin-left: 1%;
-webkit-animation-name: spin;
-webkit-animation-duration: 500ms;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-moz-animation-name: spin;
-moz-animation-duration: 500ms;
-moz-animation-iteration-count: infinite;
-moz-animation-timing-function: linear;
-ms-animation-name: spin;
-ms-animation-duration: 500ms;
-ms-animation-iteration-count: infinite;
-ms-animation-timing-function: linear;
animation-name: spin;
animation-duration: 500ms;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
@-ms-keyframes spin {
from { -ms-transform: rotate(0deg); }
to { -ms-transform: rotate(360deg); }
}
@-moz-keyframes spin {
from { -moz-transform: rotate(0deg); }
to { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
from { -webkit-transform: rotate(0deg); }
to { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
from {
transform:rotate(0deg);
}
to {
transform:rotate(360deg);
}
}