嗨,我想在jquery函数的setInterval中使用'this'变量 在不工作的行之后,我写了“ //此代码不工作”
(function($)
{
$.fn.rotate=function () {
var counter=0;
var timer=setInterval(function () {
counter++;
var transform='rotate('+counter+'deg)';
$(this).css('transform',transform); // this code dont work
if(counter>=300)
clearInterval(timer);
},1);
return this;
};
$('#socialNetworks i').rotate();
}(jQuery))
非常感谢
答案 0 :(得分:-2)
在定义函数时使用箭头函数可维护在其中调用函数的this
上下文。这样您就可以正确访问函数内的this
。
( $ => {
$.fn.rotate=function () {
var counter=0;
var timer=setInterval(function () {
counter++;
var transform='rotate('+counter+'deg)';
$(this).css('transform',transform); // this code dont work
if(counter>=300)
clearInterval(timer);
},1);
return this;
};
$('#socialNetworks i').rotate();
})(jQuery)