Jquery 在没有重新加载页面的时间后重新加载当前函数

Jquery 在没有重新加载页面的时间后重新加载当前函数,jquery,Jquery,如果可能的话,我希望在延迟一段时间后重新加载jQuery原型/函数,而不刷新所有页面 my.prototype.reloadMe = function () { setTimeout(function(){ my.reloadMe(); },1000); alert('ok'); }; 我在函数中尝试了一个setTimeout,但它不起作用:它只刷新一次 感谢您的建议或解释。 //创建您的对象: 函数myobject(){ } //向该对象添加原型 myob

如果可能的话,我希望在延迟一段时间后重新加载jQuery
原型
/
函数
,而不刷新所有页面

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
不是您唯一的问题。谢谢您的回答。事情变得明朗了。问题解决了!:)谢谢你的回答。事情变得明朗了。问题解决了!:)谢谢你的解释。我现在明白多了:)谢谢你的解释。我现在更明白了:)