我有一个圆形,里面有一个百分比文本,从0%开始。当我悬停在圆形上时,它会从0到100%(并围绕圆形产生另一种效果)。目前为止,百分比直接从0到100,但我想显示进度(0,1,2 ...,99,100),但我无法使JQuery在每个
这是我尝试过的:JSFiddle演示。
注意:我的代码现在只适用于Chrome。
这是一个迭代:
for
迭代之间等待。这是我尝试过的:JSFiddle演示。
注意:我的代码现在只适用于Chrome。
这是一个迭代:
function actions(i){
var box = $('#box');
box.css('transform','rotate(' + i + ' deg)');
box.css('-ms-transform','rotate(' + i + 'deg)');
box.css('-webkit-transform','rotate(' + i + 'deg)');
prec = (100*(i + 135))/360;
$("div.prec").delay(100).html(Math.round(prec)+"%");
}
我知道delay()
需要排队,而html()
不需要排队,所以我已经尝试使用setTimeout
,但是它也没有起作用。我还尝试使用setInterval
,请看下面的代码片段:
setInterval(function () {
$("div.prec").html(Math.round(prec)+"%");
},100);
更明确地说,我希望百分比与效果进度相匹配 - 如果绕行的三角形行进了一半的路程,百分比应该是50,因此,当我不再悬停在圆圈上时,它应该逐渐回到0。
transition: all 1s
的 CSS 规则引起的。我把它移除了,现在运行得很好。我更新了我的解决方案,并添加了一个更简单的使用 jQuery.animate()
的方法。 - Tomastransition: all 1s
CSS 规则,问题已经解决了。我根本没想到它会被 CSS 弄坏 :) - Tomas