81,094
社区成员
发帖
与我相关
我的任务
分享
function zoom()
{
var $img = $('#img');
$img.animate(
{width: $img.width()*2,height: 300}
,2000);
}
关键字 this
用在对象的方法中。this总是指向调用该方法的对象。
var oCar = new Object;
oCar.color = "red";
oCar.showColor = function(){
alert(this.color);
}
oCar.showColor();// red
这里关键字this用在对象的showColor()方法中,此时this等于oCar,下面的代码与上面的代码相同:
var oCar = new Object;
oCar.color = "red";
oCar.showColor = function(){
alert(oCar.color);
}
oCar.showColor();// red
使用this变量的一个好处,看下面的例子:
function showColor(){
alert(this.color);
}
var oCar1 = new Object;
oCar1.color = "red";
oCar1.showColor = showColor;
var oCar2 = new Object;
oCar2.color = "blue";
oCar2.showColor = showColor;
oCar1.showColor(); // red
oCar2.showColor(); // blue
注意,oCar1.showColor = showColor; 这两个showColor并不一样,前者是对象的属性,后者是全局函数
var el = $('#img').animate({width:el.width()*2,height:300},2000);
里面的this指向的是animate这个对象
function zoom()
{
//$('img#img').animate()...
$('img:eq(0)').animate( //or $('img:first')/or $($('img')[0]).animate(...);
{width: $(this).width()*2,height: 300}
,2000);
}