函数只从 $(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() 运行 并查看控制台。
所以在我的 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() 运行 并查看控制台。