在页面加载的时候就想要执行某个JS操作而不是在页面加载完后再执行该怎么做

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在页面加载的时候就想要执行某个JS操作而不是在页面加载完后再执行该怎么做相关的知识,希望对你有一定的参考价值。

1、$(function()
...
)
2、$(document).ready(function()
...
)
上面这两种写法是不是在页面加载完成后才执行啊,如果先希望在在页面的加载阶段就执行某个JS操作,根据JS来指导哪些内容该显示,该怎么显示?应该怎么做呢

参考技术A JS是html的一部分,整个HTML代码都必须被浏览器下载完后才能开始按顺序解析执行。
按你的情况,有几种方法:
1、直接把JS写到页面靠前的位置就行了,不要放到onload或jQuery()中套起来;
2、如果想控制哪些显示哪些不显示,只能在页面加载完后再隐藏起来;
3、如果想控制哪些根本不加载,那么只有在后台对HTML整个代码进行控制,不能用JS;
4、最后,你可以用ajax对哪些部分加载或不加载,进行纯JS控制,当然,要多次调用后台,每调用一次分别返回不同的HTML内容,再用JS拼接起来。
参考技术B (function()
// TODO

)();本回答被提问者和网友采纳

页面加载完毕执行多个JS函数

通常我们需要在打开页面时加载脚本,这些脚本必须在页面加载完毕后才可以执行,因为这时候DOM才完整,可以利用window.onload确保这一点,如:
window.onload=firstFunction;
这脚本的意思是在页面完毕后执行firstFunction函数,但当有很多个函数需要在页面加载时执行呢?可能有人说可以这样:
window.onload=firstFunction;
window.onload=secondFunction;

但这样的话只会执行secondFunction函数。

Simon Willison Blog  上提供了完美的解决方案:

 

[javascript] view plain copy
 
  1. function addLoadEvent(func) {  
  2.   var oldonload = window.onload;  
  3.   if (typeof window.onload != ‘function‘) {  
  4.     window.onload = func;  
  5.   } else {  
  6.     window.onload = function() {  
  7.       if (oldonload) {  
  8.         oldonload();  
  9.       }  
  10.       func();  
  11.     }  
  12.   }  
  13. }  

 

 

func参数就是要加载的函数名(记得只是函数名,不需要括号),有多少个函数需要在页面Load后执行的话,就调用多少次上面那个经典函数,例如:
addLoadEvent(firstFunction);
addLoadEvent(secondFunction);
......

以上是关于在页面加载的时候就想要执行某个JS操作而不是在页面加载完后再执行该怎么做的主要内容,如果未能解决你的问题,请参考以下文章

js怎样页面加载之前执行

Vue 在页面加载结束后执行某个函数

如何让js在页面加载后只执行一次,也就是再次刷新当前页,不再执行js

js 为啥有时加载有时不加载

如何让jquery在页面加载的时候自动调用某个函数

页面加载完毕执行多个JS函数