jquery num ++不适合我

时间:2012-01-29 16:41:07

标签: jquery

我正在尝试整合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
谁能解释为什么会发生这种情况?

由于

3 个答案:

答案 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增加和。