2

我正在尝试用 jQuery 编写一个基本的进度条。我得到了所有以百分比显示进度的部分,只需要调试我的数学。

因此,如果我从 130 个问题开始,则每次回答问题时,我都需要重新计算并显示进度。

所以这就是我所做的

var questID // is current question ID, from 1 to 130

var startCount = 130;
var currentCount = startCount - questID;
var progress = Math.floor(currentCount / startCount * 100);
$("#progressBar").width(progress);

我想我得到了一些倒退,因为当我测试时,我在第一个问题后得到了 99%……可能需要更多的咖啡因。

4

2 回答 2

4

你的currentCount逻辑是错误的。如果您已回答 1 个问题,则:

var currentCount = 130 - 1 = 129.

然后129/130会给你99%。你只需要1/130. 因此,您可以使用questID

var questID // is current question ID, from 1 to 130

var startCount = 130;
var progress = Math.floor(questID / startCount * 100);
$("#progressBar").width(progress);
于 2012-11-30T13:43:50.310 回答
4

是的,你把它弄反了。questID您尝试计算的 currentCount。无需从 startCount 中减去它。

var questID // is current question ID, from 1 to 130

var startCount = 130;
var progress = Math.floor(questID/ startCount * 100);
$("#progressBar").width(progress);

是时候喝杯咖啡了。

于 2012-11-30T13:44:13.973 回答