doT.js模板和pagination分页应用

简介: doT.js模板和pagination分页应用博客中模拟了数据加载初始化的过程。doT.js渲染每一项内容的数据项。示例如下: {{~it.bean:value:index }} {{=value.

doT.js模板和pagination分页应用

博客中模拟了数据加载初始化的过程。
doT.js渲染每一项内容的数据项。示例如下:

<script id="Messtmpl" type="text/x-dot-template"> 
    {{~it.bean:value:index }}
    <div class="MessListItem {{?value.read}}on{{?}}" mid="{{=value.id}}">
        <strong>{{=value.title}}</strong>
        <div class="words cls">
            <p>{{=value.message}}</p>
            <label>{{=value.time}}</label>
        </div>
        <a class="closed">X</a>
    </div>
    {{~}}
</script>



pagination分页插件的使用,示例如下:

MessPage.pagination(total, {
    callback: initPage, 
    prev_text: "«",
    next_text: "»",
    items_per_page: pageSide, 
    num_edge_entries: 1, 
    num_display_entries: 10, 
    current_page: current
});

参数说明:
callback:回调方法,点击分页按钮的时候执行。
prev_text:上一页按钮中的文字显示内容。
next_text:下一页按钮中的文字显示内容。
items_per_page: 每一页中显示的条数。
num_edge_entries:首尾两侧分页的条数。
num_display_entries:分页主体显示的条数。
current_page:: 当前页数。


DEMO:

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>dot.js和pagination分页应用</title> <style> *{margin: 0px; padding: 0px;} .cls{*zoom:1} .cls:after{display:block;overflow:hidden;clear:both;height:0;visibility:hidden;content:"."} .MessList{width: 960px;margin: 100px auto 10px; color: #333;} .MessList .on{ font-weight: bold; } .MessListItem{ position: relative; border:1px solid #f1f1f1; padding: 20px 30px; margin-top: -1px; cursor: pointer; } .MessListItem strong{ display:block; font-size: 16px; margin-bottom: 10px; } .MessListItem .words{ } .MessListItem p{ float: left; width: 700px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-right: 30px; } .MessListItem label{ float: right; text-align: right; } .MessListItem .closed{ position: absolute; right: 0px; top: 0px; z-index: 0; display: block; width: 20px; height: 20px; line-height: 20px; text-align: center; color: #333; border: 1px solid #333; background: #999; cursor: pointer; } .MessListItem .closed:hover{ color: #f00; border: 1px solid #f00; background: #fee; } .MessPage{ width: 960px; margin: 0px auto; } </style> </head> <body> <div id="MessList" class="MessList"></div> <div id="MessPage" class="MessPage pagination"></div> <script id="Messtmpl" type="text/x-dot-template"> {{~it.bean:value:index }} <div class="MessListItem {{?value.read}}on{{?}}" mid="{{=value.id}}"> <strong>{{=value.title}}</strong> <div class="words cls"> <p>{{=value.message}}</p> <label>{{=value.time}}</label> </div> <a class="closed">X</a> </div> {{~}} </script> <script src="http://files.cnblogs.com/kuikui/jquery-1.10.2.min.js"></script> <script src="http://files.cnblogs.com/kuikui/dot.min.js"></script> <link rel="stylesheet" href="http://files.cnblogs.com/kuikui/pagination.css" /> <script src="http://files.cnblogs.com/kuikui/pagination.min.js"></script> <script type="text/javascript"> $(function(){ var data = { code:1, bean:[{ title: "标题1", message: "标题1,你好,欢迎。。。", time: "2013-1-21 12:00:00", read: false }] }; for(var i = 0,l =1000;i<l;i++){ data.bean[i] = { id: (i+1), title: "标题" + (i+1), message: (i+1)+"现在,浏览器几乎是静如止水的市场。IE、360、Chrome、Firefox、遨游、百度和QQ浏览器的份额已多年未变。除了春运之外,浏览器玩家们也比较安静。近日则出现了一条重磅消息:遨游浏览器出大招了,发明并推出了广告快进技术。通过这项技术,用户可以对视频前、中插入的广告进行快进。", time: "2013-1-21 12:00:00", read: i<15?true:false } } var MessList = $("#MessList"); var MessPage = $("#MessPage"); var total = data.bean.length; // 总条数 var current = 0; // 当前页 var pageSide = 10; // 每页几条数据 var unRead = 15; // 未读消息 var MessText = doT.template($("#Messtmpl")[0].text); function initPage(i){ current = i; var dataTen = {}; dataTen.bean = []; var count = 0; while(count<10){ dataTen.bean.push(data.bean[count+(i*pageSide)]); count++; } MessList.html(MessText(dataTen)); } MessPage.pagination(total, { callback: initPage, prev_text: "«", next_text: "»", items_per_page: pageSide, // 每页显示的条目数 num_edge_entries: 1, //两侧首尾分页条目数 num_display_entries: 10, //连续分页主体部分分页条目数 current_page: current, //当前页索引 }); initPage(current); }); </script> </body> </html>

目录
相关文章
|
4月前
|
JavaScript 前端开发
如何减少Node.js应用中的全局变量?
如何减少Node.js应用中的全局变量?
329 133
|
1月前
|
存储 监控 JavaScript
基于布隆过滤器的 Node.js 算法在局域网电脑桌面监控设备快速校验中的应用研究
本文探讨了布隆过滤器在局域网电脑桌面监控中的应用,分析其高效空间利用率、快速查询性能及动态扩容优势,并设计了基于MAC地址的校验模型,提供Node.js实现代码,适用于设备准入控制与重复数据过滤场景。
70 0
|
4月前
|
监控 负载均衡 JavaScript
有哪些有效的方法可以优化Node.js应用的性能?
有哪些有效的方法可以优化Node.js应用的性能?
292 69
|
1月前
|
资源调度 负载均衡 JavaScript
使用PM2工具部署Vue.js应用于服务器
以上步骤完成之后,你就成功利⽤ PM⼆工具将 Vuejs 应⽰程序部署至服 务 器,并且配合反向代理实现了高效稳定访问及负载均衡功能。
84 0
|
5月前
|
前端开发 搜索推荐 JavaScript
如何通过DIY.JS快速构建出一个DIY手机壳、T恤的应用?
DIY.JS 是一款基于原生 Canvas 的业务级图形库,专注于商品定制的图形交互功能,帮助开发者轻松实现个性化设计。适用于 T 恤、手机壳等多种商品场景。它自带丰富功能,无需从零构建,快速集成到项目中。通过创建舞台、添加模型、定义 DIY 区域和添加素材四个步骤即可完成基础用法。支持在线演示体验,文档详细,易上手。
201 57
|
3月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
4月前
|
监控 算法 JavaScript
公司局域网管理视域下 Node.js 图算法的深度应用研究:拓扑结构建模与流量优化策略探析
本文探讨了图论算法在公司局域网管理中的应用,针对设备互联复杂、流量调度低效及安全监控困难等问题,提出基于图论的解决方案。通过节点与边建模局域网拓扑结构,利用DFS/BFS实现设备快速发现,Dijkstra算法优化流量路径,社区检测算法识别安全风险。结合WorkWin软件实例,展示了算法在设备管理、流量调度与安全监控中的价值,为智能化局域网管理提供了理论与实践指导。
128 3
|
5月前
|
存储 JavaScript 前端开发
|
6月前
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
6月前
|
JavaScript 前端开发 API
JavaScript中通过array.map()实现数据转换、创建派生数组、异步数据流处理、复杂API请求、DOM操作、搜索和过滤等,array.map()的使用详解(附实际应用代码)
array.map()可以用来数据转换、创建派生数组、应用函数、链式调用、异步数据流处理、复杂API请求梳理、提供DOM操作、用来搜索和过滤等,比for好用太多了,主要是写法简单,并且非常直观,并且能提升代码的可读性,也就提升了Long Term代码的可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~