- 浏览: 118058 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
煎蛋就是幸福:
...
试读《跨终端Web》 -
xiaoshitoushifa:
最好把demo贴上啊!发一份到435065893@qq.com ...
漂亮的系统后台UI 欣赏 -
xiaoshitoushifa:
只有图片 没有demo 啊
漂亮的系统后台UI 欣赏
不论是直接从链接访问服务器获取数据还是使用了AJAX动态请求数据,只要一次性的传输数据量很大,还需要用脚本语言来将数据装入某个控件,都有可能导致显示缓慢,比如树形菜单,不需要太多条数据,200条就足够你等待5秒以上。
而基于实际中用户并不需要一次性看到所有数据,我们可以使用脚本来延缓加载,并且能够保证表象的显示,因为我们需要做的就是及时地显示一部分表面数据。
缓存数据包括二种格式:
一种是用户自定义的外部格式,它不属于缓存延迟加载构件,由用户指定,例如:
function DataObject(id,name,age,gender,edu) ...{ this.id=id; this.name=name; this.age=age; this.gender=gender; this.edu=edu; }
一种是缓存延迟加载器的内部格式,它是缓存延迟加载构件的一部分,代码如下:
function CacheData(params,funces) ...{ this.params=params; this.funces=funces; }
它的目的就是封装用户数据格式:params对应用户自定义数据对象,funces对应的是方法名,解释为缓存一个要执行的方法funces,方法的参数为params.
缓存延迟加载器采用双缓冲区,可以一边操作数据,一边装入数据,特别针对树形数据结构:
var cache = ...{ //加载使用的表数据与大小,用于显示,加载表 list: new Array(), count: 0, //装入使用的表数据与大小,用于缓存,缓存表 _list: new Array(), _count: 0, //加载使用的当前游标 cursor: 0, //延缓加载的时间间隔 interval:100, //一次execute方法后的结束处理函数 endfunc:"endfunc();", //缓存一条数据到内存 add :function(params,funces)...{ this._list[this._count++]=new CacheData(params,funces); }, //清空数据缓存 clear:function()...{ this.list=null; this.count=0; this._list=new Array(); this._count=0; }, //获取当前正在加载的一行数据 params :function()...{ return this.list[this.cursor].params; }, funces :function()...{ return this.list[this.cursor].funces; }, //延迟加载的执行方法 execute: function() ...{ //将缓存数据 从缓存表移动到加载表 this.list=this._list; this.count=this._count; //重置缓存表数据 this._list=new Array(); this._count=0; //遍历调用方法func并将游标定位在其相应参数 for(var i=0;i<this.count;i++) ...{ this.cursor=i; eval(this.funces); } //执行恢复函数 eval(this.endfunc); //如果缓存数据,再次延迟加载 if(this._count>0) setTimeout("cache.execute();",interval); else eval("cache.clear();"); } }
在函数funces中参数调用必须使用:
var id = cache.params.id; var name = cache.params.iname;
发表评论
-
javascript 数据类型判断
2014-10-13 14:44 713javascript 中判断数据类型有两种情况:1.基本数据 ... -
阻止事件追加
2014-10-11 12:04 849有些时候可以使用 e.stopPropagation(); ... -
试读《ECMAScript6入门》
2014-09-20 00:01 1272ECMA 对于前端开发工作的我并不陌生,《Ja ... -
javascript 宽度获取
2014-09-11 11:27 569网页可见区域宽:document.body.clientWi ... -
用jquery开发幻灯片播放功能(完整版)
2014-04-10 12:08 910很久没有写了,今天写一个简单的效果,幻灯片无限滚动和大家一起 ... -
看了一篇 “javascript 绝句欣赏”
2013-07-24 16:37 0看了一篇 “javascript 绝句欣赏”这里面的代码写 ... -
javascript 闭包的理解
2013-05-17 16:06 1139javascript中的作用域、 ... -
javascript forEach的实现
2013-04-10 11:43 594function forEach(ary,fn){ ... -
call理解
2013-04-09 16:40 834call使用情况 1.class.call(obj) ... -
富文本框参考
2013-01-31 17:56 0http://www.cnblogs.com/bluedrea ... -
JavaScript中prototype、__proto__、Function、Object等
2012-11-07 15:46 854javascript 灵活度太大了,比如定义一个类,就可以使用 ... -
javascript call的使用
2012-11-06 01:18 641Javascript中call的使用自己感觉蛮纠结的,根 ... -
javascript 继承的实现
2012-11-06 00:55 7921.类抄写 function parent(){ ... -
利用正则表达式实现去除所有HTML标签代码
2012-09-22 10:00 2580"<[^>]*>"; / ... -
javascript判断页面加载(页面下载)是否完毕
2012-09-11 16:03 1571首先要明确两个概念 1.window.onload:页面加载 ... -
如何发送简单请求
2012-08-30 15:08 791使用XMLHttpRequest 对象发送请求的基本步骤: ... -
javascript 正则 捕获组与非捕获组
2012-08-30 11:26 2602捕获组 语法: ... -
dom
2012-08-23 11:08 745继承在dom中的重要性,以下为a标记继承关系图 ... -
查看浏览器dom支持情况
2012-08-23 10:15 716查看浏览器dom支持情况 http://www.w3. ... -
浏览器之间的差别是处理dom对象的不同
2012-08-22 17:24 717dom是一组用来描述脚本怎样与结构化文档进行交互和访问的 ...
相关推荐
新功能:延迟 JavaScript 执行-通过延迟 JavaScript 文件的加载直到用户交互(例如,滚动,单击)来提高性能 新功能:预加载链接-在用户单击链接之前预取页面,以提高感知的加载速度和用户体验) 增强功能:启用...
本篇文章主要介绍了懒加载和预加载两种技术的解析,废话不多说,一起来看吧。 懒加载也叫延迟加载:前一篇文章有介绍:JS图片延迟加载 ...1.第一种是纯粹的延迟加载,使用setTimeOut或setInterval进行加载延迟. 2.第
程序的性能是一个项目不断地追求的,通常也是项目完成后需要长期做的一件事情,像腾讯QQ依然对程序的性能不断地做优化,让用户的体验更好,性能优化的核心思想就是快,可以预先准备数据(如缓存的使用),可以按需...
一个RequireJS插件,用于延迟加载与r.js打包在一起的AMD模块,自动将打包的代码拆分为捆绑包,仅在代码更改时才对捆绑包进行高速缓存破坏,并在Javascript应用程序中定义模块元数据和模块发现。 快速范例 主模块( ...
JavaScript数据加载库。 没有礼节。 小尺寸。 支持:CORS,多个资源加载,进度指示器,localStorage缓存(JSON,XML,文本,html,二进制,图像)。 用法 获取单一资源 Logistics . getJSON ( ...
这样一来可以顺序调用这些图片——但对于首次使用这些图片的时候仍然会存在延时。预装载就是一种在需要图片之前就将图片下载到缓存的技术。采用这样的方式可以使当确实需要显示图片时迅速将其从缓存中恢复回来并立即...
有很多种方法来实现图片的预加载,通常大部分使用Javascript让事情滚动。不要再受Javascript预载的束缚了吧,用CSS你就可以毫不麻烦的预载你的图片。 为什么使用预载 你为什么会考虑使用预载呢?你是否曾有个网站,...
9.5 使用SqlDataSource控件缓存数据库数据 291 9.6 小结 293 第10章 使用List控件 294 10.1 List控件概述 294 10.1.1 声明列表项 294 10.1.2 绑定到数据源 296 10.1.3 确定被选中的列表项 299 10.1.4 追加数据项 ...
1.简介:Dropthings是一个基于.NET3.5技术的Ajax Web Portal,其中使用了LINQ、Windows Workflow Foundation和ASP.NET ...2.通过延迟脚本加载提升了页面的呈现速度 3.成批加载JavaScript脚本 4.通过缓存提升站点的效率
22.4.6 使用延时加载和ajax820 22.4.7 定制treeview控件824 22.5 创建分层的sql数据源控件830 22.6 小结832 第23章 使用站点地图834 23.1 使用sitemapdatasource控件834 23.2 使用sitemap类840 23.3 高级站点地图...
它强大的 React钩子或高阶React组件(HOC)使您可以轻松地构造组件的数据流,包括: 串行请求优先渲染关键数据(允许关键程度较低或较慢的请求不阻止交互) 延迟的请求预取...和更多其他功能包括: 一流的加载和...
在Twitter和其他任何地方与朋友分享此库。 universal是Angular Universal应用程序的种子项目,它遵循文件和应用程序组织中的常见模式和,具有以下功能: 使用框架提供种子项目。 新: 扩展工作区/ monorepo功能...
11.3.4 使用数据源控件的缓存 11.4 缓存依赖 11.4.1 文件和缓存项目依赖 11.4.2 聚合依赖 11.4.3 移除项目回调 11.4.4 理解SQL缓存通知 11.4.5 缓存通知的工作方式 11.4.6 启用通知 11.4.7 创建...
11.3.4 使用数据源控件的缓存 376 11.4 缓存依赖 379 11.4.1 文件和缓存项目依赖 379 11.4.2 聚合依赖 380 11.4.3 移除项目回调 381 11.4.4 理解SQL缓存通知 383 11.4.5 缓存通知的工作方式 384 ...
超实用的jQuery代码段精选近350个jQuery代码段,涵盖页面开发中绝大多数要点、技巧与方法,堪称史上最实用的jQuery代码参考书,可以视为网页设计与网站建设人员的好帮手。《超实用的jQuery代码段》的代码跨平台、跨...
在用户操作等实际使用该组件之前,您可以延迟JavaScript源的加载和评估。 支持面向方面的编程 您可以将方法拦截器编织到容器管理的组件。 您可以将跨类功能(例如性能度量)聚合到拦截器中。 执照 依赖库 ...
底盘 BasePlate是WordPress的入门主题,其中包括通过WebPack提供的最新资产管理器。 它带有自定义的Webpack 4构建,... 准备好延迟加载WordPress附件图片,主题图片,主题背景图片和iframe 古腾堡准备好了。 用于同
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...