Javascript 使HTML5微调器停止在段的中心
JSIDLE链接- 我没有创建此代码,但创建此代码的博客目前不起作用 是否可以将微调器自身居中于其所在的管段上?例如,有时它可能只是降落在段“A”上,然后它会转移到段“A”的中心吗?或者,这需要完全重建微调器本身吗 值得注意的是,段的数量是动态的,因为用户可以添加自己的名称 下面的代码开始旋转,并计算旋转的角度和总时间Javascript 使HTML5微调器停止在段的中心,javascript,html,Javascript,Html,JSIDLE链接- 我没有创建此代码,但创建此代码的博客目前不起作用 是否可以将微调器自身居中于其所在的管段上?例如,有时它可能只是降落在段“A”上,然后它会转移到段“A”的中心吗?或者,这需要完全重建微调器本身吗 值得注意的是,段的数量是动态的,因为用户可以添加自己的名称 下面的代码开始旋转,并计算旋转的角度和总时间 spin: function() { spinAngleStart = Math.random() * 10 + 10; spinTime = 0; sp
spin: function() {
spinAngleStart = Math.random() * 10 + 10;
spinTime = 0;
spinTimeTotal = Math.random() * 3 + 4 * 1000;
rotateWheel();
},
这个代码实际上是旋转轮子(afaik)
index
返回其所在节的段/数组索引。
outterRadius
是外圆的半径。相应地,圆的大小是用CSS百分比调整的,这会影响HTML5中的外半径吗?还是在CSS生效之前就已经呈现了
如果需要完全重建,那没关系。只是想从比我更有HTML5经验的人那里得到关于这段代码是否可能的反馈:)当然可能,但这需要一些工作。关于如何准确实施它的解释可能过于宽泛。如果您只是想了解您是否应该修改或重新实现,那么这实际上是基于意见的。由于这些原因,我决定关闭。我已经重写了stopRotateWheel函数,以缓慢地将车轮向后/向前移动到所需的点。不需要重写其余的代码。感谢您的反馈@Johannes:)当然这是可能的,但这需要一些工作。关于如何准确实施它的解释可能过于宽泛。如果您只是想了解您是否应该修改或重新实现,那么这实际上是基于意见的。由于这些原因,我决定关闭。我已经重写了stopRotateWheel函数,以缓慢地将车轮向后/向前移动到所需的点。无需重写其余代码。感谢您的反馈@Johannes:)
var rotateWheel = function rotateWheel() {
spinTime += 30;
if(spinTime >= spinTimeTotal) {
stopRotateWheel();
return;
}
var spinAngle = spinAngleStart - easeOut(spinTime, 0, spinAngleStart, spinTimeTotal);
startAngle += (spinAngle * Math.PI / 180);
drawWheel();
spinTimeout = setTimeout(rotateWheel, 30);
}