Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 只从$(Function()调用一次函数{_Javascript_Jquery_Function_Web_Call - Fatal编程技术网

Javascript 只从$(Function()调用一次函数{

Javascript 只从$(Function()调用一次函数{,javascript,jquery,function,web,call,Javascript,Jquery,Function,Web,Call,因此,在我的js脚本中,我使用jQuery,在顶部我写道: $(function() { myFunc(); function myFunc() { console.log("1"); } }); “1”只打印一次,这意味着myFunc只运行一次,我希望它每帧/毫秒运行一次,或者基本上以尽可能快的速度运行一次又一次。为什么不这样呢?如果我做得不对,我该如何实现我想要的效果,我的错误是什么?如果你想让函数在每次应该运行的时候都运行d将您的函

因此,在我的js脚本中,我使用jQuery,在顶部我写道:

$(function() { 
     myFunc(); 
     function myFunc() { 
        console.log("1"); 
     } 
});

“1”
只打印一次,这意味着
myFunc
只运行一次,我希望它每帧/毫秒运行一次,或者基本上以尽可能快的速度运行一次又一次。为什么不这样呢?如果我做得不对,我该如何实现我想要的效果,我的错误是什么?

如果你想让函数在每次应该运行的时候都运行d将您的函数放置在
setInterval
中,间隔
1ms
,尽管这不是推荐的方法

$(function(){ 
   setInterval(myFunc,1) 
   function myFunc(){ 
     console.log("1"); 
   } 
});

请您解释一下相同的用例,或者您也可以尝试将函数调用封装在一个循环中。

如果您想让函数每次运行,您应该将函数放置在
setInterval
中,间隔
1ms
,尽管这不是推荐的方法

$(function(){ 
   setInterval(myFunc,1) 
   function myFunc(){ 
     console.log("1"); 
   } 
});
请您解释一下相同的用例,或者您也可以尝试将函数调用封装在一个循环中。

您可以通过以下方式完成:

while(1){
  myFunc();
} 
但是,请先说明您的要求。

您可以通过以下方式完成:

while(1){
  myFunc();
} 

但是首先解释一下您的需求。

您可以使用
setTimeout()
在一段时间间隔后执行相同的函数,假设为5秒

$(function() { 
     myFunc();  // call initially when dom is ready
     function myFunc() { 
        console.log("1"); 
        setTimeout(function(){ myFunc(); }, 5000) // runs after every 5 seconds
     } 
});
您也可以使用
setInterval()

$(function() { 
     function myFunc() { 
        console.log("1"); 
     } 
     setInterval(myFunc,0);
});

您可以使用
setTimeout()
在间隔5秒后执行相同的函数

$(function() { 
     myFunc();  // call initially when dom is ready
     function myFunc() { 
        console.log("1"); 
        setTimeout(function(){ myFunc(); }, 5000) // runs after every 5 seconds
     } 
});
您也可以使用
setInterval()

$(function() { 
     function myFunc() { 
        console.log("1"); 
     } 
     setInterval(myFunc,0);
});
您已经编写了IIFE(立即调用的函数表达式),主函数只运行一次。 您需要使用间隔为0毫秒的setInterval调用内部函数

$(function(){ 
     function myFunc(){ 
        console.log("1"); 
     } 
     setInterval(myFunc,0);
});
您已经编写了IIFE(立即调用的函数表达式),主函数只运行一次。 您需要使用间隔为0毫秒的setInterval调用内部函数

$(function(){ 
     function myFunc(){ 
        console.log("1"); 
     } 
     setInterval(myFunc,0);
});
您的匿名函数(外部函数)加载页面时运行。这会调用
myFunc
,将1输出到控制台,然后结束。如果要循环,可以尝试在
myFunc
函数的末尾调用
myFunc
,但如果这样做,您会发现浏览器将挂起,最终会耗尽内存。这是因为调用堆栈将不断增长,永远不允许UI响应,因为javascript完全处于控制之中

或者,您可以在方法末尾使用
setTimeout(myFunc,delay)
,该方法将在经过一定的毫秒后再次调用它。这将不会填充调用堆栈,并允许UI响应,但您必须指定间隔

最后一种方法是使用“setInterval(myFunc,delay)”代替对“myFunc()”的outerbody调用。这将永远每隔“delay”毫秒重复调用您的函数。

您的匿名函数(外部函数)加载页面时运行。这会调用
myFunc
,将1输出到控制台,然后结束。如果要循环,可以尝试在
myFunc
函数的末尾调用
myFunc
,但如果这样做,您会发现浏览器将挂起,最终会耗尽内存。这是因为调用堆栈将不断增长,永远不允许UI响应,因为javascript完全处于控制之中

或者,您可以在方法末尾使用
setTimeout(myFunc,delay)
,该方法将在经过一定的毫秒后再次调用它。这将不会填充调用堆栈,并允许UI响应,但您必须指定间隔


最后一种方法是使用“setInterval(myFunc,delay)”代替对“myFunc()”的outerbody调用。这将永远每隔“delay”毫秒重复调用您的函数。

从评论中可以明显看出,您迫切需要一个响应框架

是最流行的HTML、CSS和JS框架,用于在web上开发响应迅速的移动优先项目

它消除了为移动设备和桌面设计单独页面的需要

只需浏览预定义的CSS类,就可以了

不需要为窗口大小调整等编写复杂的逻辑


希望能有所帮助。

从评论中可以看出,您迫切需要一个响应性框架

是最流行的HTML、CSS和JS框架,用于在web上开发响应迅速的移动优先项目

它消除了为移动设备和桌面设计单独页面的需要

只需浏览预定义的CSS类,就可以了

不需要为窗口大小调整等编写复杂的逻辑


希望有帮助。

您的代码只运行一次(当页面加载时)。如果您想以计算机能处理的速度运行代码,请使用while(true){/Your code here…/}或var interval=setInterval(1,function(){/Your code here/});将每0.001秒运行一次代码,并使用clearInterval(interval);停止代码运行。有关详细信息,请参阅。

您的代码仅运行一次(当页面加载时)。如果您希望以计算机能够处理的速度运行代码,请使用while(true){/Your code here…/}或var interval=setInterval(1,function(){/Your code here/});将每0.001秒运行一次代码,并使用clearInterval(interval);停止代码运行。有关详细信息,请参阅。

如果您只需要检查是否根据您的评论更改了窗口大小,请重试

while(true) {/Your Code here.../} clearInterval(interval);
$(function () { 
    $(window).resize(function () { 
        //insert code here 
    }); 
});

如果您只需要根据您的评论检查窗口大小的更改,请尝试

$(function () { 
    $(window).resize(function () { 
        //insert code here 
    }); 
});
@Vadim Tatarnikov以更快的速度调用jquery中的函数 具有最小时间间隔的window.setInterval()请尝试以下代码

//添加jquery脚本文件
$(文档).ready(函数(){
setInterval(函数(){
myFunc();
},1);//这里我把时间间隔设为1毫秒
});
函数myFunc(){
console.log(“1