Javascript TypeError:$.doTimeout不是函数
我的代码如下:Javascript TypeError:$.doTimeout不是函数,javascript,jquery,laravel,timeout,synchronous,Javascript,Jquery,Laravel,Timeout,Synchronous,我的代码如下: $("p").click(function(){ $(this).hide(); }) $.doTimeout('myLoop', 5000, function() { ++i; timeleft = calctime(id, jsondata); document.getElementById("timeleft").innerHTML = timeleft; /* From the docs: "If the
$("p").click(function(){
$(this).hide();
})
$.doTimeout('myLoop', 5000, function() {
++i;
timeleft = calctime(id, jsondata);
document.getElementById("timeleft").innerHTML = timeleft;
/* From the docs: "If the callback returns true, the doTimeout loop will execute again, after the delay, creating a polling loop until the callback returns a non-true value." */
return i == 50 ? false : true;
});
};
JS是在我的laravel服务器中实现的,所以这可能会导致问题
我试过以下方法:1下载jquery文件,而不是使用google服务
2添加不同的jquery函数(代码的顶部)以查看jquery是否正常工作。确实如此
我的目标是创建一个具有同步延迟的循环(与javascripts asynchronous setTimeout不同),因此代码每5秒运行一次循环 Jquery正在工作,因为我的代码的顶部部分工作正常 我使用的Jquery是Mozilla Firefox上的3.3.1版 有人能提供一些信息说明为什么doTimeout不起作用吗 好的,我制作了这个片段,但是我认为doTimeout库不能正常工作,因为我现在有两个错误。希望能有帮助
var i=0;
$.doTimeout(100,函数(){
i++;
document.getElementById(“计数器”).innerHTML=i;
});代码>
您可以使用插件。因为它不是jQuery核心的一部分。
然后将其注入脚本标记中。错误将在之后消失。我在不使用doTimeout的情况下解决了该问题
function fuckit(timeleft, id, jsondata){
setTimeout(function(){
timeleft = calctime(id, jsondata);
document.getElementById("timeleft").innerHTML = timeleft;
fuckit(timeleft, id, jsondata);
}, 1000);
}
它基本上是一个内部函数调用
我不建议任何人这样做,因为这基本上是糟糕的编码,但它可以工作,而且因为它只是一个学校项目,我对此很满意。下载并将其注入脚本标记doTimeout
不是jQuery的核心功能。它是作为一个扩展而开发的。请参阅此处的工作示例@nikhil,这与下面的答案相同。我在评论中提供了更多信息,因为它没有改变错误。谢谢anyways@Niels-你能解决你的问题吗?@nikhil我没有。我正确地添加了jquery+doTimeout插件,但仍然会出现相同的错误。在html中添加此插件后,仍然会出现相同的错误(是的,我确实下载了)。在调用jQuery后调用此命令,如果仍不起作用,请确保路径正确(在devtool中检查网络选项卡)。脚本行在jQuery之后,网络选项卡显示状态为“200”和绿色。所以看起来不错,但是我仍然有错误。签出此文档:。我将console.log(“test”)添加到dotimeout文件中,它显示在我的控制台中。然后我从文档中复制了代码,但仍然得到相同的错误。idk为什么,但我不能接受这个答案。。。fkn stackoverflow处于最佳状态