var i = -1;
$pics.each(function(){
$this = $(this);
i++;
setTimeout(function(){
console.log($this);//这里的$this指向jQuery对象集合的最后一个对象
$this.animateCss('zoomIn');
}, 200*i);
});
$pics是一个jQuery对象集合,那么setTimeout里面的$this指向哪里?上下两段代码的$this为什么不一样?
var i=-1;
$(".demo_scale").each(function() {
var $this=$(this);
if(!$this.hasClass("b_to_t")){
i++;
setTimeout(function(){
console.log($this);//这里的$this是指向第三行的$this的
$this.addClass("b_to_t");
},200*i);
}
});
代码你这样写的话
$this指向jQuery对象集合中的最后一个jQuery对象