js页面加载后执行的几种方式小结
在实际应用中往往需要在页面加载完毕之后再去执行相关的js代码,之所以这么操作是有道理的,如果是操作dom元素,如果相关元素没有加载完成,而去执行js代码,可能会导致错误,下面就介绍一下如何实现页面加载完成再去执行代码,这是最为基础的知识了,可能初学者还不太了解,寄希望能够给需要的朋友带来一定帮助。
一.window.onload事件:
代码如下:
原生js
window.onload=function(){ //code }
jquery
$(window).load(function(){ //code });
当页面完全加载完毕之后再去执行code代码。说明页面需要dom操作,必须到最后才可以执行。
二.使用jQuery的ready事件:
$(document).ready(function() { //code });
一般
(function () { //code } })();
当稳当结构加载完毕再去执行code代码。
通用的页面加载后再运行JS有两种方式:1、在DOM加载完毕后,页面全部内容(如图片等)完全加载完毕前运行JS。 2、在页面全部内容加载完成(包括引用文件,图片等)之后再加载JS
1、在DOM加载后,全部内容加载前运行
这种方式在同一文件中可以运行多个且不会覆盖。
由于在$(document).ready()方法只要DOM就绪就会被执行,因此可能此时元素的关联文件未下载完。例如与图片有关的HTML下载完毕,并且已经解析为DOM树了,但很有可能图片还未加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。要解决这个问题,可以使用Jquery中 load()方法在需要的文件加载完毕后对其进行操作。
$(document).ready(function(){});
$().ready(function(){}) //简写 当$()不带参数时默认就是document
$(function(){}); //简写
2、在全部内容加载后运行
这种方式中只能执行一个 onload代码,当文件由多个onload或者load,只加载最后一个,前面的将会被覆盖且前面的onload里面的代码不会执行。
window.onload = function(){}; // —-js
$(window).load(function(){}); //---jquery
3、DOM文档加载步骤
1.解析HTML结构
2.加载外部的脚本和样式文件
3.解析并执行脚本代码
4.执行$(function(){})内对应代码
5.加载图片等二进制资源
6.页面加载完毕,执行window.onload
补充:
1:$(function){};
2:$(document).ready(function(){});
3:$(window).load(function(){});
4:window.onload = function(){};
5:在标签上静态绑定onload事件,<body onload="aaa()">等待body加载完成,就会执行aaa()方法。
注:第1种是第2种的简写方式。两个是document加载完成后就执行方法。第3种和第4种都是等到整个window加载完成执行方法体。两者也没有区别,只是一个使用dom对象,一个使用jQuery对象。
执行顺序:1和2无论放在哪里都是最先执行,3和4在其之后执行,5最后执行
相关推荐
-
解析页面加载与js函数的执行 onload or ready
首先,页面加载顺序:解析HTML结构.加载外部脚本和样式表文件.解析并执行脚本代码.构造HTML DOM模型.加载图片等外部文件.页面加载完毕. 也就是:html → head → title → #text(网页标题) → style → 加载样式 → 解析样式 → link → 加载外部样式表文件 → 解析外部样式表 → script → 加载外部脚本文件 → 解析外部脚本文件 → 执行外部脚本 → body → div → script → 加载脚本 → 解析脚本 → 执行脚本 → img
-
页面加载完后自动执行一个方法的js代码
1.在body中用onload: <body onload="myfunction()"> 2.在脚本中用window.onload: <script type="text/javascript"> function myfun() { alert("this window.onload"); } /*用window.onload调用myfun()*/ window.onload=myfun;//不要括号 </scr
-
如何让页面加载完成后执行js
javascript 当页面dom模型加载完成后才执行javascript不能使用<body onload="">加上 defer 等于在页面完全在入后再执行,相当于 window.onload ,但应用上比 window.onload 更灵活 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/x
-
javascript页面加载完执行事件代码
复制代码 代码如下: <script type="text/javascript" language="JavaScript"> //: 判断网页是否加载完成 document.onreadystatechange = function () { if(document.readyState=="complete") {
-
JavaScript判断页面加载完之后再执行预定函数的技巧
JavaScript 脚本语言的执行,是需要触发的.一般的做法就是在网页中,直接编写几个函数,有的在代码被加载的时候就被浏览器处理,或者使用类似下面的代码来触发实现函数的相关功能. <div id="link" onclick="fun()" ></div> 上面代码的意思就是,当鼠标点击 id 为 link 的元素的时候,就触发了它的 onclick 事件,然后执行使用 JavaScript 定义的 fun 函数.这样的做法肯定是很不合理的
-
页面加载完成后再执行JS的jquery写法以及区别说明
1.$(function(){ $("#a").click(function(){ //adding your code here }); }); 2.$(document).ready(function(){ $("#a").click(function(){ //adding your code here }); }); 3.window.onload = function(){ $("#a").click(function(){ //add
-
Javascript代码在页面加载时的执行顺序介绍
一.在HTML中嵌入Javasript的方法1.直接在Javascript代码放在标记对<script>和</script>之间2.由<script />标记的src属性制定外部的js文件3.放在事件处理程序中,比如:<p onclick="alert('我是由onclick事件执行的Javascript')">点击我</p>4.作为URL的主体,这个URL使用特殊的Javascript:协议,比如:<a href=&q
-
js页面加载后执行的几种方式小结
在实际应用中往往需要在页面加载完毕之后再去执行相关的js代码,之所以这么操作是有道理的,如果是操作dom元素,如果相关元素没有加载完成,而去执行js代码,可能会导致错误,下面就介绍一下如何实现页面加载完成再去执行代码,这是最为基础的知识了,可能初学者还不太了解,寄希望能够给需要的朋友带来一定帮助. 一.window.onload事件: 代码如下: 原生js window.onload=function(){ //code } jquery $(window).load(function(){ /
-
Jquery 在页面加载后执行的几种方式
方式1: 复制代码 代码如下: $(function(){ initPublish(); }); 说明: initPublish() 即为你要运行的JS函数:这段代码,放在页面最低端. 方式2: 复制代码 代码如下: $(document).ready(function () { // add your code here initPublish(); $(.a).click( function (){ // add your code here }); }); 方式3: 复制代码 代码如下:
-
JS脚本加载后执行相应回调函数的操作方法
项目中经常会遇到这样的问题:当某个 js 脚本加载完成后再执行相应任务,但很多朋友可能并不知道怎么判断我们要加载的 js 文件是否加载完成,如果没有加载完成我们就调用 js 文件里面的函数是不会成功的.本文主要讲解怎么在成功加载 js 文件后再执行相应回调任务. 基本思路 我们可以动态的创建 <script> 元素,然后通过更改它的 src 属性来加载脚本,但是怎么知道这个脚本文件加载完成了呢?因为有些函数需要在脚本加载完成才能调用.IE 浏览器中可以使用 <script> 元素的
-
在页面加载之后执行JavaScript
我们都知道,页面加载是有顺序的.让我们先来理一下页面的展示过程: 当你输入url并按下回车时 首先从本地查找域名,有的话直接用hosts文件里的ip地址,否则查询DNS,得到ip地址 建立TCP连接——进行“三次握手” 客户端发送http请求 服务端处理,并返回结果给客户端 关闭TCP连接——需要“四次挥手” 浏览器收到结果,开始解析资源(JS.CSS.HTML),解析HTML生成的dom树,和同时解析css生成的cssom树结合生成渲染树 根据渲染树渲染页面 当然,再详细的比如:如何解析生成D
-
vue.js页面加载执行created,mounted的先后顺序说明
created页面加载未渲染html之前执行. mounted渲染html后再执行. 由于created在html模板生产之前所以无法对Dom进行操作而mounted可以. 补充知识:关于Vue子组件data选项某个属性引用子组件props定义的属性的几点思考 学过Vue的都知道Vue等MVVM框架相对于传统的JS库比如Jquery最大的区别在于数据驱动视图,重点在于数据,拿到数据后将数据通过模板{{}}语法或者v-html展示在页面上. 我们也都知道在Vue父子组件可以通过Props实现父组件
-
详解Vue.js在页面加载时执行某个方法
jQuery中可以这样写 vue中,如果要达到相同效果,可以使用vue的生命周期函数,如create或者mounted 附上vue.js的生命周期函数执行流程 总结 以上所述是小编给大家介绍的Vue.js在页面加载时执行某个方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!
-
VUE DOM加载后执行自定义事件的方法
最近想用vue做一个小东西,谁知道一开始就遇到了一个棘手的问题: 首先我想在页面加载前通过ajax请求页面展示所需要的信息,于是我在created钩子函数里面请求了我想要的数据 created:function(){ var url="/indexitem"; var _self=this; $.get(url,function(data){ _self.items=data; }); $.get('/banner',function(data){ _self.banners=data
-
jQuery基于ajax实现页面加载后检查用户登录状态的方法
本文实例讲述了jQuery基于ajax实现页面加载后检查用户登录状态的方法.分享给大家供大家参考,具体如下: 拥有会员功能的网站,如果会员已经登录,那么要显示相应的登录状态,而且这种显示的需求是在网站的每个页面都有的(目前国内网站貌似都是这么做的,还没有见过其他形式的状态显示方式),这样,在打开一个新的页面时就要知道这个会员是否已经登录,需要判断登录的状态. 1.解决方案. 为了能够实现在每一个页面判断会员登录状态的功能,我采用了页面时通过ajax传递参数通过后端返回的登录状态结果进行判断,当然
-
vue-router路由懒加载及实现的3种方式
什么是路由懒加载? 也叫延迟加载,即在需要的时候进行加载,随用随载. 官方解释: 1:当打包构建应用时,JavaScript 包会变得非常大,影响页面加载. 2:如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了. 官方在说什么呢?为什么需要懒加载? 1:首先,我们知道路由中通常会定义很多不同的页面. 2:这个页面这项目build打包后,一般情况下,会放在一个单独的js文件中 3:但是,如果很多的页面都放在同一个js文件中,必然会造成这个页面
-
Java web开发中加载图片路径的两种方式
(1) src="/image/1_it.jpg" (2) src="http://localhost:8080/image/1_it.jpg" 其中localhost可以换位你的电脑IP,端口号也要相应改变. 以上均在基于编译器idea以及tomcat服务器开发的web中测试可行!都是要先定位到项目的位置! 以上所述是小编给大家介绍的Java web开发加载图片路径的两种方式,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
随机推荐
- Python编程中的异常处理教程
- Python使用正则表达式实现文本替换的方法
- 使用aggregate在MongoDB中查询重复数据记录的方法
- JS实现最简单的冒泡排序算法
- Java 序列化详解及简单实现实例
- python通过正则查找微博@(at)用户的方法
- hadoop常见错误以及处理方法详解
- 重构、标准、布局
- Sqlserver 2000/2005/2008 的收缩日志方法和清理日志方法
- MySQL 编码机制
- jQuery中$.click()无效问题分析
- javascript获取本机操作系统类型的方法
- 浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
- RDP 协议组件 X.224 在协议流中发现一个错误并且中断了客户端连接的解决方法
- Android 中为什么要用Fragment.setArguments(Bundle bundle)来传递参数
- JAVA中JNI的简单使用分享
- SpringMVC拦截器实现登录认证
- C++如何通过ostringstream实现任意类型转string
- angularjs 页面自适应高度的方法
- VBS基础篇 - vbscript动态数组