- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Js表格,万条数据瞬间加载在Ajax动态加载数据的实际应用中,大家都习惯了一种思维方式:一条数据创建一行。?于是如果数量大的时候,一次性要加载完数据的话,浏览器就会卡上半天?受Flex的DataGrid控件的启发,在Flex的DataGrid控件中,展示数据的方法并不是有多少条数据就创建多少行,它最多只创建你在界面上所看到的十几二十行(假设为n行),如果数据多的话,在滚动过程中,会从数据中抽取你应该看到的这n行数据,重新展示在已经创建好的那n行控件中。?也就是说,Flex的DataGrid控件中,我们实际上看到的仅仅是那n行控件,只是它们展示的数据是根据滚动条状态来筛选出来的。?所以,如果在JS中,也用类似的方法实现,那么就是上万条数据,可能也只要创建几十个Dom而已,效率自然快得多了。?废话不多说,上代码。首先,需要一个滚动条Scrollbar.js
复制代码
function Scrollbar() {
????this.options = {
????????total : 0, //数据总数
????????pos : 0, //当前滚动位置
????????itemSize : 20, //单项尺寸
????????size : 200 //控件尺寸
????};
}
Stotype = (function () {
????function setOptions(options) {
????????for (var attr in options) {
????????????this.options[attr] = options[attr];
????????}
????????Refresh(this);
????}
????function Refresh(_this) {
????????if (!_this.created)
????????????return; //设置控件高度
????????_this.bar.style.height = _this.options.size + px;
????????//设置内容高度
????????var ch = _this.options.total * _this.options.itemSize;
????????_this.content.style.height = ch + px;
????}
????//获取滚动位置
????function getPos() {
????????var top = this.bar.scrollTop;
????????var pos = parseInt(top / this.options.itemSize);
????????return pos;
????}
????//每页可展示的数据数量
????function getPageItems() {
????????return this.options.size / this.options.itemSize;
????}
????//滚动事件响应
????function OnScroll(_this) {
????????var pos = _this.getPos();
????????if (pos == _this.options.pos)
????????????return;
????????_this.options.pos = pos;
????????_this.onScroll(pos);
????}
????//滚动条创建
????function CreateAt(dom) {
????????var _this = this;
????????var bar = document.createElement(div);
????????var content = document.createElement(div);
????????bar.appendChild(content);
????????bar.style.width = 19px;
????????bar.style.overflowY = scroll;
????????bar.style.overflowX = hidden;
????????if (bar.attachEvent) {
????????????bar.attachEvent(onscroll, function () {
????????????????OnScroll(_this);
????????????});
????????} else {
????????????//firefox兼容
????????????bar.addEventListe
您可能关注的文档
- html标签中id和name的区别.doc
- html标签属性大全(完美版).doc
- HTML表单页面的基本结构.doc
- HTML表格边框制作教程.doc
- HTML表格的美化修饰.doc
- HTML补充资料.doc
- HTML参考手册.doc
- html参考手册-功能.doc
- HTML测试题.doc
- HTML插入+处理图片.doc
- 2025年注册消防工程师之消防安全技术实务考试卷(培优a卷).docx
- 2025年初级经济师之初级金融专业考试卷必考.docx
- 2025年注册消防工程师之消防安全技术实务考试卷及完整答案【易错题】.docx
- 2025年咨询工程师之宏观经济政策与发展规划考试卷附答案【培优a卷】.docx
- 2025年国家电网招聘之财务会计类考试卷及参考答案【夺分金卷】.docx
- 2025年初级经济师之初级建筑与房地产经济考试题库(突破训练).docx
- 2025年土地登记代理人考试卷及答案(易错题).docx
- 航拍通信工程施工方案(3篇).docx
- 工程质量标准化工作方案(3篇).docx
- 工程设计方案邀请函范文(3篇).docx
最近下载
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 景区标准体系明细表.docx VIP
- 2024身体护理趋势报告.pdf VIP
- 建筑工程资料用表(ABC表).pdf VIP
- 海洋自然资源数据分类与编码规范 DB44 T 2463—2024.docx VIP
- 2022版 电力建设土建工程施工、试验及验收标准表式(第1部分 施工).doc
- 全国英语等级考试PETS4大纲词汇5336个.doc
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 最新骨科临床路径(25个).pdf VIP
- 第12课 汉武帝巩固大一统王朝 课件(共28张PPT)(含音频+视频).pptx VIP
文档评论(0)