mui多层tab切换上拉加载的实现
最近做项目用到mui开发移动端,其中有一个需求就是多层嵌套切换下拉刷新,实现不同的tab刷新不同的内容。
下面记录一下思路与具体的实现方法。
思路:
1、可以共用一个滚动下拉外壳 mui-scroll-wrapper
2、当下拉时判断当前被选中的是哪个tab ,从而渲染那个tab
步骤:
1.首先,引入mui框架的依赖,mui.css和mui.js,模板渲染插件art-template.js
<link rel="stylesheet" href="dist/mui/css/mui.css"> //mui 样式文件 <script rel="stylesheet" src="dist/mui/js/mui.min.js"></script>//(mui js文件) <script rel="stylesheet" src="js/zepto.min.js"></script>//js框架库(适用于移动端) <script rel="stylesheet" src="js/art-template.js"></script>//模板渲染插件
2.将mui-scroll-wrapper放到最外层,包裹住所有的切换内容,具体html结构如下
<div class="out mui-content mui-scroll-wrapper" id="refreshContainer" ><div class='mui-scroll'><section class="notice"><ul class="tab"><li class="active"><a href="javascript:;">tab1</a></li><li><a href="javascript:;">tab2</a></li><li><a href="javascript:;">tab3</a></li></ul><ul class="tab_list pinglun"><li class="on" data-temp= '1'><p><a href="javascript:;" class="active">第二层tab1</a><a href="javascript:;">第二层tab2</a><a href="javascript:;">第二层tab3</a></p><div class="table_list"><div class="on">具体内层div1</div><div>具体内层div2</div><div>具体内层div3</div></div></li><li><p><a href="javascript:;" class="active">第二层tab1</a><a href="javascript:;">第二层tab2</a><a href="javascript:;">第二层tab3</a></p><div class="table_list"><div class="on">具体内层div1</div><div>具体内层div2</div><div>具体内层div3</div></div></li><li ><p><a href="javascript:;" class="active">第二层tab1</a><a href="javascript:;">第二层tab2</a><a href="javascript:;">第二层tab3</a></p><div class="table_list"><div class="on">具体内层div1</div><div>具体内层div2</div><div>具体内层div3</div></div></li></ul></section></div> </div>
3,到这里结构已经实现,tab切换网上一搜到处是demo,这里就不啰嗦了。下面初始化下拉刷新和模板渲染
模板渲染:考虑到不同的tab用到的模板不同,所以给每个tab一个data-temp属性用来区别判断当前需要哪个渲染模板:
<script id="type1" type="text/html">{{each list as item}}<span>我是刷新的模拟新数据</span>{{/each}} </script> <script id="test" type="text/html">{{each list as item}}<span>我是第二种模板渲染</span>{{/each}} </script>
mui上拉加载初始化:
var data = { list: [{ 'id': '18', 'imagesUrl': 'images/111.png', 'name': '新数据1', 'jifen': '233', 'url': '1.html' }, {
'id': '18', 'imagesUrl': 'images/111.png', 'name': '新数据2', 'jifen': '233', 'url': '1.html'
}};
mui.init({pullRefresh : {container:"#refreshContainer",//上拉加载容器标识,querySelector能定位的css选择器均可,比如:id、.class等 up : {height:50,//可选.默认50.触发上拉加载拖动距离auto:false,//可选,默认false.自动上拉加载一次contentrefresh : "正在加载...",//可选,正在加载状态时,上拉加载控件上显示的标题内容contentnomore:'没有更多数据了',//可选,请求完毕若没有更多数据时显示的提醒内容;callback :function(){var html =''//判断不同的下拉刷新,选择不同的渲染模板 同样,data数据也要经过判断然后向后台发送请求if($('.pinglun li.on').attr('data-temp')=='1'){html = template('type1', data);//data为模拟的json对象,小伙伴可以自己模拟一下,或者直接有接口用ajax获取到数据,那就是真正的动态刷新了}else{html = template('test', data);}var that = $(this);var content = $('.pinglun li.on div.on');//找到当前切换状态的div。然后在这里面动态渲染数据html= content.html()+html;content.html(html);setTimeout(function(){mui('#refreshContainer').pullRefresh().endPullupToRefresh();},1000)} //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据; }}});
转载于:https://www.cnblogs.com/sisimu/p/8688723.html
mui多层tab切换上拉加载的实现相关推荐
- Mui Webview下来刷新上拉加载实现
有些事情经历过之后才会发现,原来再次之前我是如此的啥,因为是第一次做,毫无头绪,有时会想假如有个一demo就好了,那么就不会花费这么多的无用功了.今天使用mui 的webview实现了一个H5页面的上 ...
- html5上拉下拉刷新,APP 上拉加载,下拉刷新 介绍
开发APP时,很多时候都会用上,上拉加载数据,下拉刷新等功能,本文件介绍两种. 一种是原生APP自带的上拉加载,下拉刷新功能,一种是用JS 插件写的上拉加载,下拉刷新. 1.原生APP 的 上拉加载, ...
- Vant Tab标签页+下拉刷新+上拉加载
Vant Tab标签页+下拉刷新+上拉加载 <template><div class="invoicePickupBox"><div class=&q ...
- mui用ajax上拉加载更多,mui上拉加载更多的使用
demo地址 mui框架中上拉加载的坑 1.在函数自己上拉加载行为后的回调函数 2.在mui封装的上拉加载中,点击某一项会失效. 解决方法 1.该函数是必须要写的,用来写自己的逻辑需求,但是一般情况下 ...
- 使用MUI框架,模拟手机端的下拉刷新,上拉加载操作。
套用mui官方文档的一句话:"开发者只需关心业务逻辑,实现加载更多数据即可".真的是不错的框架. 想更多的了解这个框架:http://dev.dcloud.net.cn/mui/ ...
- MUI框架的上拉加载的深入探索和实战运用
文章目录 上拉加载 初始化 端部上拉载荷 重置上拉加载 禁用上拉刷新 启用上拉刷新 选项卡更改图标 mui变量和plus变量分别是什么 网络请求必须用mui.ajax,调试必须用真机或模拟器 上拉加载 ...
- 小程序上拉加载更多数据,分类切换状态等实例
发现很多人对小程序的文章比较好奇,购物车那篇居然占了快三分一的访问量,因此写多篇关于小程序的常用功能. 上拉加载更多其实很简单,关键点只是知道上拉加载是变相的分页加载,然后通过初始化记录值和通过数组来 ...
- Jquery 实现H5页面上拉加载更多
在最新的H5开发项目中,需要开发上拉加载更多的功能,如何实现上拉加载更多,网上有很多插件可以实现,如:mescroll.mui.isScroll等等,最初我也是选择了使用插件,但在使用过程中发现了如果 ...
- 安卓实现下拉刷新上拉加载
前言 Android智能下拉刷新框架-SmartRefreshLayout 是github 上的一个开源框架,地址https://github.com/scwang90/SmartRefreshLay ...
- DCloud-MUI:下拉刷新、上拉加载
ylbtech-DCloud-MUI:下拉刷新.上拉加载 1. 下拉刷新返回顶部 0. http://dev.dcloud.net.cn/mui/pulldown/ 1. 概述 为实现下拉刷新功能,大 ...
最新文章
- tar -P参数含义
- 访问 Neutron 外部网络 - 每天5分钟玩转 OpenStack(143)
- 面试官系统精讲Java源码及大厂真题 - 41 突破难点:如何看 Lambda 源码
- 通常情况下的中国剩余定理
- 澜起科技加速中国本土数据中心解决方案进程
- 无法导入某些项目,因为它们已经存在于Eclipse中的工作区错误中
- 麻雀虽小五脏俱全----blender介绍
- 如何读取csv文件并将其转化为tsv文件
- 5款超级无敌好用的电脑软件 建议收藏!
- linux stm32 swd,stm32 JTAG和SWD的使用区别
- matlab建立rbf网络,大家看一下,这组数据Matlab如何构建RBF神经网络!!!!
- ubuntu 18.04 安装gdb
- 2013年08月威海之旅
- 英雄联盟账号服务器查询,lol战绩查询系统
- 第一章 常用半导体器件
- Kafka中broker,分区,副本的概念
- ComSec作业七 Signature
- Python数据分析及可视化实例之“Pandas“
- HTTP1.1协议中文版
- DWDM 与宽带IP技术