Jquery 在没有重新加载页面的时间后重新加载当前函数
如果可能的话,我希望在延迟一段时间后重新加载jQueryJquery 在没有重新加载页面的时间后重新加载当前函数,jquery,Jquery,如果可能的话,我希望在延迟一段时间后重新加载jQuery原型/函数,而不刷新所有页面 my.prototype.reloadMe = function () { setTimeout(function(){ my.reloadMe(); },1000); alert('ok'); }; 我在函数中尝试了一个setTimeout,但它不起作用:它只刷新一次 感谢您的建议或解释。 //创建您的对象: 函数myobject(){ } //向该对象添加原型 myob
原型
/函数
,而不刷新所有页面
my.prototype.reloadMe = function () {
setTimeout(function(){
my.reloadMe();
},1000);
alert('ok');
};
我在函数中尝试了一个setTimeout
,但它不起作用:它只刷新一次
感谢您的建议或解释。
//创建您的对象:
函数myobject(){
}
//向该对象添加原型
myobject.prototype.reloadMe=函数(){
//可以使用interval代替递归
setInterval(函数(){
警报(“正常”);
}, 1000);
}
//实例化该对象
var my=新的myobject();
//调用你的函数
我的。重新加载我()代码>
//创建您的对象:
函数myobject(){
}
//向该对象添加原型
myobject.prototype.reloadMe=函数(){
//可以使用interval代替递归
setInterval(函数(){
警报(“正常”);
}, 1000);
}
//实例化该对象
var my=新的myobject();
//调用你的函数
我的。重新加载我()
应该是this.reloadMe
以获得正确的实例
my.prototype.reloadMe = function () {
var that = this;
setTimeOut(function(){
that.reloadMe();
}, 1000);
alert('ok');
};
但这将是一个无止境的循环。如果你只想再次调用它一次,就必须打破它
my.prototype.reloadMe = function () {
var that = this;
if( !that.delayedCalled ) {
setTimeOut(function() {
that.delayedCalled = true;
that.reloadMe();
}, 1000);
}
alert('ok');
};
它应该是this.reloadMe
,以获得正确的实例
my.prototype.reloadMe = function () {
var that = this;
setTimeOut(function(){
that.reloadMe();
}, 1000);
alert('ok');
};
但这将是一个无止境的循环。如果你只想再次调用它一次,就必须打破它
my.prototype.reloadMe = function () {
var that = this;
if( !that.delayedCalled ) {
setTimeOut(function() {
that.delayedCalled = true;
that.reloadMe();
}, 1000);
}
alert('ok');
};
在代码中定义一个原型函数,然后尝试将其作为对象函数调用。您应该会得到类似“my.reloadMe()
不是函数”的错误
如果要访问此函数,可以显式调用此原型函数:
setTimeout(function(){
my.prototype.reloadMe();
}, 1000);
或实例化对象并调用此函数:
setTimeout(function(){
new my().reloadMe();
}, 1000);
my.prototype.reloadMe = function reload() {
setTimeout(reload, 1000);
alert('ok');
};);
这两个听起来都不正确
看起来最好的解决方案是命名匿名函数:
setTimeout(function(){
new my().reloadMe();
}, 1000);
my.prototype.reloadMe = function reload() {
setTimeout(reload, 1000);
alert('ok');
};);
注意1:在代码中使用setTimeOut
,而它是setTimeOut
。JS区分大小写。也许,这可能是一个错误的来源
注意2:任何一条代码都将使其在无限循环中运行。所以,实际上,你每秒钟都会收到一次警报。我希望这正是您想要实现的:)在代码中定义一个原型函数,然后尝试将其作为对象函数调用。您应该会得到类似“my.reloadMe()
不是函数”的错误
如果要访问此函数,可以显式调用此原型函数:
setTimeout(function(){
my.prototype.reloadMe();
}, 1000);
或实例化对象并调用此函数:
setTimeout(function(){
new my().reloadMe();
}, 1000);
my.prototype.reloadMe = function reload() {
setTimeout(reload, 1000);
alert('ok');
};);
这两个听起来都不正确
看起来最好的解决方案是命名匿名函数:
setTimeout(function(){
new my().reloadMe();
}, 1000);
my.prototype.reloadMe = function reload() {
setTimeout(reload, 1000);
alert('ok');
};);
注意1:在代码中使用setTimeOut
,而它是setTimeOut
。JS区分大小写。也许,这可能是一个错误的来源
注意2:任何一条代码都将使其在无限循环中运行。所以,实际上,你每秒钟都会收到一次警报。我希望这正是您想要实现的目标:)您能告诉我们您的setTimeout
try吗?setTimeout
正是您想要的。“但我没用”-试着调查一下。怎么搞的?控制台中有错误吗?我已经编辑了我的帖子。谢谢重新加载jQuery原型/函数
你的确切意思是什么?我想你的问题不是关于重新定义一个原型方法,而是关于这个方法的作用。听起来像是个问题。关于您发布的代码,首先是setTimeout
而不是setTimeout
。其次,这段代码对于你的问题没有意义。你的代码完全改变了情况。我将尝试创建一个很好的答案,但是setTimeout
不是您唯一的问题。您可以向我们展示您的setTimeout
try吗?setTimeout
是您想要的。“但我没用”-试着调查一下。怎么搞的?控制台中有错误吗?我已经编辑了我的帖子。谢谢重新加载jQuery原型/函数
你的确切意思是什么?我想你的问题不是关于重新定义一个原型方法,而是关于这个方法的作用。听起来像是个问题。关于您发布的代码,首先是setTimeout
而不是setTimeout
。其次,这段代码对于你的问题没有意义。你的代码完全改变了情况。我将尝试创建一个好的答案,但是setTimeout
不是您唯一的问题。谢谢您的回答。事情变得明朗了。问题解决了!:)谢谢你的回答。事情变得明朗了。问题解决了!:)谢谢你的解释。我现在明白多了:)谢谢你的解释。我现在更明白了:)