+ -
当前位置:首页 → 问答吧 → js 全局变量

js 全局变量

时间:2011-11-08

来源:互联网

大家好,
我想请问为什么我的imgCount 如果在 $("div.panelArticle img").load(function() 外面就有值,但是在里面就永远 0的。我把它设成window.count也不能。我的count为什么永远都不能等于imgCount?  


function checkImgLoaded(){ 
  count=0;
  imgCount = $("div.panelArticle img").length;
  alert(imgCount); //这能实行而且有值
  $("div.panelArticle img").load(function(){  
  alert(imgCount); //这行没能实行
  count++;
  if(count==imgCount){
  equalHeight("leftPanel","content");  
  }
  });
}

谢谢大家

作者: ktoytp   发布时间: 2011-11-08

load()方法第一个参数 不是个页面地址么 ?

作者: zell419   发布时间: 2011-11-08

看下全局和局部变量怎么定义的吧。。它们的区别

作者: zsx841021   发布时间: 2011-11-08

我在我的参数里能取到全局变量的值,但是我的jquery里的load就取不到值了?请问该怎样把值传递给我的jquery的.load函数?

作者: ktoytp   发布时间: 2011-11-08

对不起打错了,应该是:

我在我的函数里能取到全局变量的值,但是我的jquery里的load就取不到值了?请问该怎样把值传递给我的jquery的.load函数? 

作者: ktoytp   发布时间: 2011-11-08

你是不是其他地方改变了这个值

作者: liangws   发布时间: 2011-11-08

引用 5 楼 liangws 的回复:
你是不是其他地方改变了这个值


你好,
我在我的函数下面还有一个:
imgCount = $("div.dataRepeater img").length;    //里面没有img所以是0
为什么它不是执行我的上面的load后再执行下面的代码?
谢谢

作者: ktoytp   发布时间: 2011-11-08

引用 6 楼 ktoytp 的回复:

引用 5 楼 liangws 的回复:
你是不是其他地方改变了这个值


你好,
我在我的函数下面还有一个:
imgCount = $("div.dataRepeater img").length;    //里面没有img所以是0
为什么它不是执行我的上面的load后再执行下面的代码?
谢谢

load里面是回调函数,当img加载完才执行的,下面的imgCount = $("div.dataRepeater img").length是比load里面的函数早执行

作者: liangws   发布时间: 2011-11-08

谢谢,去吃饭先等下再回来

作者: ktoytp   发布时间: 2011-11-08

引用 4 楼 ktoytp 的回复:
对不起打错了,应该是:

我在我的函数里能取到全局变量的值,但是我的jquery里的load就取不到值了?请问该怎样把值传递给我的jquery的.load函数?


LOAD执行早。在那时还没有后面的结果,当然为0.

作者: theforever   发布时间: 2011-11-08