jquery num++对我不起作用



我正在尝试集成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

有人能解释为什么会发生这种事吗???

感谢

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

因为您完全误解了++运算符的作用。它将变量的值增加一,同时在递增之前返回变量的值。

您应该使用sum+=total而不是sum++。sum+=total将用total的值递增总和。sum++将使总和增加1。

最新更新