jquery num ++不为我工作
问题描述:
我想整合jquery进度条,但我得到的问题。jquery num ++不为我工作
采取follwoing代码..
$(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斌在这里。
http://jsbin.com/ogatij/2/edit#source
渲染代码,你会明白我的意思的Num ++是不是为我工作与3个图像说。
整体价值因此使用++
33.333333333333336
66.333333333333336
100
这应该循环三次到每个回路是33.333333333333336
确定,但这个不工作我得到以下。
33.333333333333336
34.333333333333336
35.333333333333336
任何人都可以解释为什么发生这种情况?
感谢
答
因为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,同时在增加变量之前返回变量的值。
答
您应该使用sum + = overall而不是sum ++。 sum + = total将以总体值增加总和。 sum ++会将总数加1。
非常感谢您的帮助。 – DCHP 2012-01-29 17:33:25