我正在尝试整合jquery进度条,但我遇到了问题。
采取以下代码..
$(document).ready(function(){
$( "#progressbar" ).progressbar({value: 0});
var size = $(".item img.main").size();
var overall = 100 / size;
var sum = overall;
$(".item img.main").each(function (index) {
var $this = $(this);
console.log(sum++);
$( "#progressbar" ).progressbar({value: sum++});
});
查看一个更好的例子,我在这里把一个放入js bin。
http://jsbin.com/ogatij/2/edit#source
呈现代码,你会看到我的意思是num ++不适用于我说3张图片。
总值为33.333333333333336
好的,所以这应该使用++
循环三次到每个循环33.333333333333336
66.333333333333336
100
但这不起作用我得到以下内容。
33.333333333333336
34.333333333333336
35.333333333333336
谁能解释为什么会发生这种情况?
由于
答案 0 :(得分:1)
因为sum++
只会将值增加1.请尝试此操作。
$(document).ready(function(){
$( "#progressbar" ).progressbar({value: 0});
var size = $(".item img.main").size();
var overall = 100 / size;
var sum = overall;
$(".item img.main").each(function (index) {
var $this = $(this);
console.log((overall * (index + 1)));
$( "#progressbar" ).progressbar({value: (overall * (index + 1))});
});
答案 1 :(得分:0)
因为你完全误解了++
运算符的作用。它将变量的值增加1,同时在递增变量之前返回变量的值。
答案 2 :(得分:0)
你应该使用sum + = overall而不是sum ++。 sum + = total将增加总和的值。 sum ++将使用1增加和。