Javascript 根据要循环的元素数增加引导进度条百分比
使用jQuery,我试图根据JS数组中的元素数量来增加引导进度条的一部分,它必须循环并执行AJAX请求 我的计划是得到数组的长度,除以要通过的进度条的总百分比(本例中为60%),然后除以长度,得到每个循环应该增加多少百分比 到目前为止,我的代码是:Javascript 根据要循环的元素数增加引导进度条百分比,javascript,jquery,css,twitter-bootstrap,Javascript,Jquery,Css,Twitter Bootstrap,使用jQuery,我试图根据JS数组中的元素数量来增加引导进度条的一部分,它必须循环并执行AJAX请求 我的计划是得到数组的长度,除以要通过的进度条的总百分比(本例中为60%),然后除以长度,得到每个循环应该增加多少百分比 到目前为止,我的代码是: function savedata(qid) { var answerslen = choiceoptions.length; //We have 60% of the bar to clear looping these,
function savedata(qid) {
var answerslen = choiceoptions.length;
//We have 60% of the bar to clear looping these, so work out increment
var proginc = 60 / answerslen;
choiceoptions.forEach(function(entry) { //Loop through array
$.ajax({
method: "post",
url: "/../save",
data: { qid: qid, answer: entry }
})
.done(function( msg ) {
var curprog = ( 100 * parseFloat($('#progressbar').css('width')) / parseFloat($('#progressbar').parent().css('width')) );
var newprog = parseInt(curprog) + parseInt(proginc);
$("#progressbar").css('width', newprog);
});
});
}
这并没有按预期工作,而是在第一个循环中将进度直接发送到100%以上。有人能帮我做到这一点吗
非常感谢
可待因可能有帮助:以下是我的做法:
如果您的进度条在示例中已经为60%(或.6或60),则意味着您还有40%(或.4或40)要走。我假设你还有40个问题,或者至少还有一些问题可以被你剩余的2、4、5、8或10整除;此值将归因于上面的输入变量。如果是这种情况,则查找当前进度条宽度量的基本公式为((60+该“条目”值的金额)/100)*100
无需推导当前进度条宽度,因为在这种情况下,计算百分比的数学相当简单 你能用jsfiddle、snippet或codepen发布一个例子吗?@silviagreen我能用AJAX调用等实现吗?我现在就试试。给你:我建议用回声检查。基本上,使用
alert(variable)
或console.log(variable)
从下到上检查使用的每个变量,以减少错误可能性。然后,你可以找出问题所在。我不明白,条形图从零开始,对于数组中的每个元素,你填充条形图以达到100%?