函数只从 $(function(){

Function only called once from $(function(){

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

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

"1" 仅打印一次,这意味着 myFunc 仅 运行 一次,我希望它 运行 每 frame/millisecond 或基本上与它一样快可以一遍又一遍。为什么它不会像这样发生?如果我做错了,怎么才能达到我想要的效果,我错在哪里?

如果你想要一个函数 运行 每次你应该将你的函数放在 setInterval 中,间隔为 1ms 尽管这不是推荐的做法。

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

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

您可以通过:

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);
});

你已经编写了IIFE(立即调用函数表达式)并且主函数只运行一次。 您需要使用间隔为 0 毫秒的 setInterval 调用内部函数。

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

您的匿名函数(外部函数)在页面加载时 运行s。这将调用 myFunc,它向控制台输出 1,然后结束。如果你想循环,你可以尝试在 myFunc 函数的末尾调用 myFunc,但如果你这样做,你会发现你的浏览器会挂起,最终你会 运行记忆。这是因为调用堆栈会越来越大,永远不会让 UI 响应,因为 javascript 完全在控制之中!

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

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

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

Bootstrap 是最流行的 HTML、CSS 和 JS 框架,用于在 Web 上开发响应式、移动优先的项目。

它不再需要 having/designing 单独的移动和桌面页面。

只需浏览 CSS 类 的预定义一堆即可。

无需为 window 大小调整等编写复杂的逻辑..

希望对您有所帮助。

您的代码仅 运行 一次(当页面加载时)。如果您想 运行 以计算机可以处理的速度编码,请使用

while(true) {/Your Code here.../}
var interval = setInterval(1, function() {/Your Code Here/});
将每 0.001 秒 运行 编码一次,然后
clearInterval(interval);
停止来自 运行ning 的代码。有关详细信息,请参阅 this link

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

$(function () { 
    $(window).resize(function () { 
        //insert code here 
    }); 
});

@Vadim Tatarnikov to call as soon as faster a function in jquery use window.setInterval() with minimum time interval try the below code

<script type="text/javascript" src="jquery.js"></script>//add your jquery script file 

<script type="text/javascript">
$(document).ready(function(){ 
window.setInterval(function(){
 myFunc();
},1);//here i put time interval=1 millisecond
});
function myFunc(){
    console.log("1");
}

这将每 1 毫秒调用一次 myFunc() 运行 并查看控制台。