Jquery 在setInterval中访问内部函数
这不起作用,因为“bar未定义。”您需要传递一个直接引用Jquery 在setInterval中访问内部函数,jquery,timer,Jquery,Timer,这不起作用,因为“bar未定义。”您需要传递一个直接引用bar的函数,而不是字符串,因此: (function($) { $.fn.myPlugin = function(options) { var _this; var timer1; var foo = function(n) { if (timer1 != null) return; // in action
bar
的函数,而不是字符串,因此:
(function($)
{
$.fn.myPlugin = function(options)
{
var _this;
var timer1;
var foo = function(n)
{
if (timer1 != null) return; // in action
timer1 = setInterval("bar("+n+")", 500);
};
var bar = function(n)
{
...
if ( ... ) clearInterval(timer1);
};
return this.each(function()
{
_this = $(this);
_this.bind("click", function(){ foo(10); });
});
}
})(jQuery);
这样做:
setInterval("bar("+n+")", 500);
此外,您需要接受问题以获得任何未来的答案,您可以通过单击帮助您解决问题的答案旁边的复选标记来完成此操作。它给你一个rep,回答者rep,并帮助下一个谷歌搜索者更快地找到合适的答案。你需要传递一个直接引用
条的函数,而不是字符串,因此:
(function($)
{
$.fn.myPlugin = function(options)
{
var _this;
var timer1;
var foo = function(n)
{
if (timer1 != null) return; // in action
timer1 = setInterval("bar("+n+")", 500);
};
var bar = function(n)
{
...
if ( ... ) clearInterval(timer1);
};
return this.each(function()
{
_this = $(this);
_this.bind("click", function(){ foo(10); });
});
}
})(jQuery);
这样做:
setInterval("bar("+n+")", 500);
此外,您需要接受问题以获得任何未来的答案,您可以通过单击帮助您解决问题的答案旁边的复选标记来完成此操作。它为您提供了回答者代表,并帮助下一位谷歌搜索者更快地找到合适的答案。未意识到第一个参数可以是函数而不是字符串。未意识到第一个参数可以是函数而不是字符串。