最近在改一个嵌入在frame中的页面的时候,使用了jquery做效果,而页面本身也绑定了onload事件。改完后,Firefox下测试正常流畅,IE下就要等个十几秒jquery的效果才出现,黄花菜都凉了。 起初以为是和本身onload加载的方法冲突。网上普遍的说法是$(document).ready()是在页面DOM解析完成后执行,而onload事件是在所有资源都准备完成之后才执行,也就是说$(document).ready()是要在onload之前执行的,尤其当页面图片较大较多的时...
1:实际需求 大型网站往往很矛盾,想用户在首页看到更多东西,又不想浪费太多服务器流量。比如一个有3屏的首页。可能50%的用户进首页的目的是点击首页的连接,到子页面。 那么我们的网站却为100%的用户加载了 3个 屏幕的所有内容。如果可以按需加载内容。就可以节约更多资源,做更多好的应用。 2:解决方案 用客户端语言来判断用户当前的可视范围,只加载用户可视范围的内容。最主要的是图片。因为文字信息,相对较小,其他...
这样做的好处当然是如果有用户不需要查看下面的内容,则免去了下面所有图片的请求,这对减少服务器的压力还是很有帮助的。 实现: 其实tudou的实现原理很简单, 1.先把所有需要延迟加载的图片的src都设置成同1个小图片的连接(sprite.gif),把真真图片的连接放进图片的alt属性中,look下代码: 代码如下: 2. 绑定window.scroll事件,在该事件里面的重设所有class为lazyImg的图片的src值,在土豆首页找到如下JS: 代码如下: var ...
Javascript文件动态加载一直是比较困扰的一件事情,像网络上传的比较常见的做法:function loadjs(fileurl){var sct = document.createElement("script");sct.src = fileurl;document.head.appendChild(sct); }然后我们来测试一下结果:function loadjs(fileurl){ var sct = document.createElement("script");sct.src = fileurl;document.head.appendChild(sct);}loadjs("http://code.jquery.com/jquery-1.12.0.js");loadjs("ht...
浏览器在处理HTML页面渲染和JavaScript脚本执行的时候是单一进程的,所以在当浏览器在渲染HTML遇到了标签会先去执行标签内的代码(如果是使用src属性加载的外链文件,则先下载再执行),在这个过程中,页面渲染和交互都会被阻塞。 ...虽然会有阻塞,但还是有几招可以减少JavaScript对性能的影响的。 1.script标签的位置 当出现在中的时候,比如:
讲一下大概的原理吧,还是先上图: 功能描述:根据不同菜单的属性值分别加载不同的数据下拉滚动条到一定位置预加载图片,滚动条拉到最底下的时候渲染html;鼠标移到菜单,切换各个图片列表;鼠标移到图片列表上,显示详细信息; 技术实现方案:先梳理一下从加载到显示的流程:1. 加载数据2. 拼接HTML写入到页面3. 检查刚刚写入的HTML中的img是否全部加载完成,如果是,进入5、否则进入44. 等待图片加载完成5. 计算每个元素的位置一...
在网上有很多关于判断图片是否已经加载完毕的文章,但是有的浏览器并不适合,下面小编给大家分享一些有关JavaScript判断图片是否已经加载完毕方法汇总,具体内容如下所示: 一.onload事件通过监听图片的onload事件,可以判断图片是否已经加载完成,兼容所有的浏览器(w3c推荐方法),代码示例如下Document// 方法一:图片已经下载完 document.getElementById('img1').onload = function(e){ e.stopPropagation(); alert(1); }二.判...
使用EasyUI时,有个经常遇到的问题,页面还没有渲染完成的时候,就展现了。 刚刚开始很混乱,等加载完成后,就好了。$.parser.onComplete,这个是在所有组件解析完成后执行的事件。其实这个事件很有用的。很多在布局用到easyui的时候总会出现一个问题。就是在一进入主界面的时候,页面的并不是马上就展现,而是会有一个混乱的过程,之后一闪就又好了。 其实这个就是因为easyui是在dom载入完毕之后才会对整个页面进行解析,当你们布...
在js引擎部分,我们可以了解到,当渲染引擎解析到script标签时,会将控制权给JS引擎,如果script加载的是外部资源,则需要等待下载完后才能执行。 所以,在这里,我们可以对其进行很多优化工作。 放置在BODY底部 为了让渲染引擎能够及早的将DOM树给渲染出来,我们需要将script放在body的底部,让页面尽早脱离白屏的现象,即会提早触发DOMContentLoaded事件. 但是由于在IOS Safari, Android browser以及IOS webview里面即使你把js脚...
图片预加载有大体有几种方式1.html标签或css加载图片显而易见我们使用img标签或者通过标签的background-image属性都可以实现图片的预加载。但是为了避免初次载入过多图片影响体验。一般最好在文档渲染完成以后再加载(使用window.onload等)。2.纯js实现预加载 空城计-Code记的Javascript实现图片的预加载的完整实现的预加载实例为function preloadimages(arr){ var newimages=[], loadedimages=0var postaction=function(){} //此...
之前写过一版图片“懒加载”的文章,刚好周末在整理文件的时候,大概又看了一遍之前写的代码发现有很多可以优化的地方。 这篇文章主要就是结合上篇《javascript瀑布流式图片懒加载实例》再来看看图片“懒加载”的一些知识。 图片“懒加载”的主旨: 按照需要加载图片,也就是说需要显示的时候再加载图片显示,减少一次性加载的网络带宽开销。 先来看一段代码:这里我主要是想实现,用户配置和默认配置的合并,这样写代码并不是很...
最近项目使用到了“懒加载”,现在更新一般,因为平时主要使移动端的开发所以库文件使用的是zepto.js 。当然也可以和jQuery 通用。 代码如下:/*** Created by zhiqiang on 2015/10/14.* hpuhouzhiqiang@gmail.com* 图片的懒加载**/ function loadImgLazy(node) {var lazyNode = $('[node-type=imglazy]', node),mobileHeight, lazyOffSetHeight, tempHeight, currentNodeTop, imgObject,imgDataSrc, localUrl;localUrl = location...
预加载图片是提高用户体验的一个很好方法。图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度。这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速、无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验。本文将分享三个不同的预加载技术,来增强网站的性能与可用性。 方法一:用CSS和JavaScript实现预加载 实现预加载图片有很多方法,包括使用CSS、JavaScript及两...
本文实例分享了JQuery ztree带筛选、异步加载实例,供大家参考,具体内容如下< head> < base href=""> My JSP 'ztree.jsp' starting page< script type="text/javascript" src="zTrees/js/jquery-1.4.4.min.js"></ script> < script type="text/javascript" src="zTrees/js/jquery.ztree.core-3.5.js"></ script> < script type="text/javascript"src="zTrees/js/jquery.ztree.excheck-3.5.js"></ script> < script type="text/jav...
本文实例讲解了jquery zTree异步加载,分享给大家供大家参考,具体内容如下 web.xml中Servlet配置如下:<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet-name>getDataServlet</servlet-n...