我面临的问题是,我不知道如何使动画条与百分比I同步。现在我看上去不错,但是当我将'43‘值改为'100’时,百分比计数器就变慢了。
示例代码:
$(document).ready(function(){
$(".barInner").animate({
width: 43 + "%",
opacity: 1
}, 2500 );
var display = $('.barInner');
var currentValue = 0;
var nextValue = 43;
var diff = nextValue - currentValue;
var step = ( 0 < diff ? 1 : -1 );
for (var i = 0; i < Math.abs(diff); ++i) {
setTimeout(function() {
currentValue += step
display.text(currentValue + "%");
}, 54 * i)
}
});http://jsfiddle.net/vTKw7/
提前谢谢你,
尼克
发布于 2013-11-05 14:10:54
您不能以您似乎想要的方式同步.animate()和setTimeout()。尝试使用您的setTimeout来控制进度条的宽度,同时显示百分比数。
$(document).ready(function () {
var display = $('.barInner');
var currentValue = 0;
var nextValue = 100;
var diff = nextValue - currentValue;
var step = (0 < diff ? 1 : -1);
for (var i = 0; i < Math.abs(diff); ++i) {
setTimeout(function () {
currentValue += step;
display.text(currentValue + "%");
$(".barInner").css({
width: currentValue + "%",
opacity: 1
});
}, 54 * i)
}
});http://jsfiddle.net/mblase75/6TMWm/
或者,使用.stop().animate()使其平滑一点:
$(".barInner").stop().animate({
width: currentValue + "%",
opacity: 1
},50);http://jsfiddle.net/mblase75/6TMWm/1/
https://stackoverflow.com/questions/19790814
复制相似问题