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))}); 

    }); 
+0

非常感谢您的帮助。 – DCHP 2012-01-29 17:33:25

因为你完全误解了++运营商做什么。它将变量的值增加1,同时在增加变量之前返回变量的值。

您应该使用sum + = overall而不是sum ++。 sum + = total将以总体值增加总和。 sum ++会将总数加1。