mui 上拉刷新加载template数据

html没什么好说的,就是主要刷新列表要套多套一层,要不动画会不见

//待刷新区域

<div id="cx_lst" style="margin-top: 30px;">
<div id="cx_lst2">

</div>
</div>

//临时数组
var cx = [{
"ypmc": "11",
"jg": 100,
"id": "1",

}, {
"ypmc": "22",
"jg": 200,
"id": "2",

}, {
"ypmc": "33",
"jg": 300,
"id": "3",

}, {
"ypmc": "44",
"jg": 400,
"id": "4",

}, {
"ypmc": "55",
"jg": 500,
"id": "5",

}, {
"ypmc": "66",
"jg": 600,
"id": "6",

}]

//刷新模板
var cxTemplate = ‘<%for(var i=0;i<arr.length;i=i+2){%>‘ +

‘<ul class="mui-table-view mui-grid-view" style="text-align: center;">‘ +

‘<li class="mui-table-view-cell mui-media mui-col-xs-5 cx_list" id="<%=arr[i].id%>";>‘ +

‘<img class="mui-media-object" src="../../images/merchandise.jpg">‘ +

‘<div class="mui-media-body"><%=arr[i].ypmc%></div>‘ +
‘<div class="mui-media-body" style="color: red;">¥<span><%=arr[i].jg%></span></div>‘ +

‘</li>‘ +
‘<li class="mui-table-view-cell mui-media mui-col-xs-5 cx_list" id="<%=arr[i+1].id%>">‘ +

‘<img class="mui-media-object" src="../../images/merchandise.jpg">‘ +

‘<div class="mui-media-body"><%=arr[i+1].ypmc%></div>‘ +
‘<div class="mui-media-body" style="color: red;">¥<span><%=arr[i+1].jg%></span></div>‘ +

‘</li>‘ +

‘</ul>‘ +

‘<%}%>‘;

//初始化参数

mui.init({
pullRefresh: {
container: ‘#cx_lst‘, //待刷新区域标识

up: {
height:50,
contentrefresh: ‘正在加载...‘,
contentnomove:‘没有更多数据了‘,
callback: pullupRefresh
}
}
});

var count = 0;//刷新次数
var currentLiEventIndex = 0; //目前加载的数据量

/**
* 上拉加载具体业务实现
*/
function pullupRefresh() {
//当前已经加载的商品数量
var ls = document.getElementsByClassName(‘cx_list‘);

//函数在指定时间后返回结果
setTimeout(function() {
//促销商品数量
var cxNum=cx.length;
//每次加载2个商品,总共刷新次数
var upRefreshCount=parseInt(cxNum/2);
//alert(upRefreshCount+"=====刷新次数")
mui(‘#cx_lst‘).pullRefresh().endPullupToRefresh((++count>upRefreshCount)); //结果为true代表没有更多数据了。

//数据加载函数
getAllCxLimit(currentLiEventIndex, 1);

}, 1500);
}

//获取促销商品列表
function getAllCxLimit(str,end){
var data = {
arr: [],
}
data.arr=cx;//将数据保存在数组中
data.arr=data.arr.slice(str, str+end+1);//截取数组已经加载的+需要加载的

var render = template.compile(cxTemplate); // 初始化刷新列表 
var sHtml = render(data); //将数据导入刷新列表
document.getElementById(‘cx_lst2‘).innerHTML = document.getElementById(‘cx_lst2‘).innerHTML+sHtml; //写入数据
currentLiEventIndex=currentLiEventIndex+2;//目前数据加载的数量
}

//商品列表点击事件,进入商品详情页
mui(‘#cx_lst‘).on(‘tap‘, ‘.cx_list‘, function() {
var cx=document.getElementsByClassName(‘cx_list‘);
alert(this.getAttribute(‘id‘) + "商品参数id,打开新页面");
});

时间: 2024-10-07 15:00:03

mui 上拉刷新加载template数据的相关文章

ListView下拉刷新,上拉自动加载更多

下拉刷新,Android中非常普遍的功能.为了方便便重写的ListView来实现下拉刷新,同时添加了上拉自动加载更多的功能.设计最初是参考开源中国的Android客户端源码.先看示例图.          图1                                                                                                             图2          图3                      

SwipeRefreshLayout+RecyclerView实现下拉刷新上拉自动加载

在实际开发中,为了节省开发周期,下拉刷新上拉加载通常都会采取使用一些第三方库,典型的就是用PullToRefresh,XListView等等,还有就是谷歌推荐的SwipeRefreshLayout,可惜没有上拉加载功能,需要自己去实现一个上拉加载的脚View,再加上现在代替ListView的RecyclerView+CardView使用的频率也是也来也高,不得不说,CardView效果确实很好看,一个一个的小卡片,用户体验好,I like it!!!废话不说了,奔主题!今天也玩了一下SwipeR

Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件

前言 下拉刷新组件在开发中使用率是非常高的,基本上联网的APP都会采用这种方式.对于开发效率而言,使用获得大家认可的开源库必然是效率最高的,但是不重复发明轮子的前提是你得自己知道轮子是怎么发明出来的,并且自己能够实现这些功能.否则只是知道其原理,并没有去实践那也就是纸上谈兵了.做程序猿,动手做才会遇到真正的问题,否则就只是自以为是的认为自己懂了.今天这篇文章就是以自己重复发明轮子这个出发点而来的,通过实现经典.使用率较高的组件来提高自己的认识.下面我们就一起来学习吧. 整体布局结构      

iOS:详解MJRefresh刷新加载更多数据的第三方库

原文链接:http://www.ios122.com/2015/08/mjrefresh/ 简介 MJRefresh这个第三方库是李明杰老师的杰作,这个框架帮助我们程序员减轻了超级多的麻烦,节约了开发时间,提高了开发效率.由于目前能力有限,尚不能自己写一套框架,所以就先膜拜和看明白大牛的框架了. 用于为应用添加常用的上拉加载更多与下拉刷新效果,适用 UIScrollView . UITableView . UICollectionView . UIWebView. gtihub上的地址:http

Android UI--自定义ListView(实现下拉刷新+加载更多)

http://blog.csdn.net/wwj_748/article/details/12512885 Android UI--自定义ListView(实现下拉刷新+加载更多) 关于实现ListView下拉刷新和加载更多的实现,我想网上一搜就一堆.不过我就没发现比较实用的,要不就是实现起来太复杂,要不就是不健全的.因为小巫近期要开发新浪微博客户端,需要实现ListView的下拉刷新,所以就想把这个UI整合到项目当中去,这里只是一个demo,可以根据项目的需要进行修改. 就不要太在乎界面了哈:

移动端tab滑动和上下拉刷新加载

移动端tab滑动和上下拉刷新加载 查看demo(请在移动端模式下查看) 查看代码 开发该插件的初衷是,在做一个项目时发现现在实现移动端tab滑动的插件大多基于swiper,swiper的功能太强大而我只要一个小小的tab滑动功能,就要引入200+k的js这未免太过浪费.而且swiper是没有下拉刷新功能的,要用swiper实现下拉刷新还得改造一番.在实现功能的同时产生了不少bug.要是在引入一个下拉刷新的插件又难免多了几十kb的js.而且这些插件对dom结构又是有一定要求的,一不小心就有bug.

listview 下拉刷新加载数据

点击头条,头条会变成以下: 然后,过一段时间,刷新完成以后,listview又setSelection(1),增加一条数据,同时,把顶部给遮挡住: 这是点击刷新,然后是下拉刷新: 最后结果和点击刷新相同.那现在开始看下代码: 首先看下所用到的控件和变量: // 状态 private static final int TAP_TO_REFRESH = 1;//点击刷新 private static final int PULL_TO_REFRESH = 2;  //拉动刷新 private sta

Android Demo 下拉刷新+加载更多+滑动删除

小伙伴们在逛淘宝或者是各种app上,都可以看到这样的功能,下拉刷新和加载更多以及滑动删除,刷新,指刷洗之后使之变新,比喻突破旧的而创造出新的,比如在手机上浏览新闻的时候,使用下拉刷新的功能,我们可以第一时间掌握最新消息,加载更多是什么nie,简单来说就是在网页上逛淘宝的时候,我们可以点击下一页来满足我们更多的需求,但是在手机端就不一样了,没有上下页,怎么办nie,方法总比困难多,细心的小伙伴可能会发现,在手机端中,有加载更多来满足我们的要求,其实加载更多也是分页的一种体现.小伙伴在使用手机版QQ

下拉滚动加载更多数据

简单地实现一个下拉滚动时加载更多数据的效果.这种效果经常在手机端.瀑布流时看到 1 KISSY.add('load',function(S,Core,IO,XTemplate){ 2 var $ = S.all, D = S.DOM, E = S.Event; 3 var API = { 4 'query':'query.do' 5 }; 6 var tpl = '{{#each result}}'+ 7 '<tr>'+ 8 '<td><input type="ch