我有这段代码:
$('.mainDiv').on('click', function(){
$(this).animate({'width':'70%', 'height':'70%'}, 300, 'swing');
$('p', this).stop().animate({'font-size':'70%', 'color':'#000000', 'opacity':'1'}, 300, 'swing',
function(){
$(?????).animate({'width':'110%', 'height':'110%', 'opacity':'0'}, 300, 'swing');
}
);
});
问题:(?????)
如何在定位{child} ".mainDiv"
之后重新定位"p"
?
答案 0 :(得分:4)
你可以这样做:
$('.mainDiv').on('click', function(){
var $maindiv = $(this); // <= save the external "this"
$maindiv.animate({'width':'70%', 'height':'70%'}, 300, 'swing');
$('p', this).stop().animate({'font-size':'70%', 'color':'#000000', 'opacity':'1'}, 300, 'swing',
function(){
$maindiv.animate({'width':'110%', 'height':'110%', 'opacity':'0'}, 300, 'swing');
}
);
});
答案 1 :(得分:1)
您可以使用:
var $this=$(this);
然后在需要引用原始元素时使用$this
。
答案 2 :(得分:1)
我宁愿建议使用:
$('.mainDiv').on('click', function(){
var that = this;
$(this).animate({'width':'70%', 'height':'70%'}, 300, 'swing');
$('p', this).stop().animate({'font-size':'70%', 'color':'#000000', 'opacity':'1'}, 300, 'swing',
function(){
$(that).animate({'width':'110%', 'height':'110%', 'opacity':'0'}, 300, 'swing');
});
});
主要思想是将变量“附加”到其他变量,我个人喜欢将其称为“那个”,但几乎没有可能的方法。