两个菜单页面组成的手机页面滑动加载更多
来源:互联网 发布:权健集团产业矩阵 编辑:程序博客网 时间:2024/05/09 01:44
两个菜单页面组成的手机页面滑动加载更多,触摸上滑可以加载更多记录,最多30条。最多加载数和每次加载数都可在jquery中配置。
HTML
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,height=device-height, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <title></title> <script type="text/javascript" src="../js/jquery-1.12.1.js"></script> </head> <body> <nav style="width:100%"> <span class="menuClass nav-active" id="spanMenuOne" onclick="switchMenu(this.id)">菜单一</span> <span class="menuClass" id="spanMenuTwo" onclick="switchMenu(this.id)">菜单二</span> </nav> <div class="main" style="width:100%"> <div id="MenuOne"> <ul class="ulClass"> <li class="liClass"> <div class="lileft">菜单一第1项第1列</div> <div class="liright">菜单一第1项第2列</div> </li> <li class="liClass"> <div class="lileft">菜单一第2项第1列</div> <div class="liright">菜单一第2项第2列</div> </li> <li class="liClass"> <div class="lileft">菜单一第3项第1列</div> <div class="liright">菜单一第3项第2列</div> </li> <li class="liClass"> <div class="lileft">菜单一第4项第1列</div> <div class="liright">菜单一第4项第2列</div> </li> <li class="liClass"> <div class="lileft">菜单一第5项第1列</div> <div class="liright">菜单一第5项第2列</div> </li> </ul> </div> <div id="MenuTwo" style="display: none;"> <ul class="ulClass"> <li class="liClass"> <div class="lileft">菜单二第1项第1列</div> <div class="liright">菜单二第1项第2列</div> </li> <li class="liClass"> <div class="lileft">菜单二第2项第1列</div> <div class="liright">菜单二第2项第2列</div> </li> <li class="liClass"> <div class="lileft">菜单二第3项第1列</div> <div class="liright">菜单二第3项第2列</div> </li> <li class="liClass"> <div class="lileft">菜单二第4项第1列</div> <div class="liright">菜单二第4项第2列</div> </li> <li class="liClass"> <div class="lileft">菜单二第5项第1列</div> <div class="liright">菜单二第5项第2列</div> </li> </ul> </div> </div> <input id="menuOneTotal" type="hidden" name="menuOneTotal" value="20"/> <input id="menuTwoTotal" type="hidden" name="menuTwoTotal" value="15"/> <div style="height:15px;"></div> <footer> <a href="http://www.mozhenlong.com" style="text-decoration: none;"> <div class="jump-btn">前往我的主页</div> </a> </footer> </body></html>
CSS
<style type="text/css"> .menuClass{ display: inline-block; width: 180px; height: 45px; color: #0092EF; text-align: center; vertical-align: middle; line-height: 45px; } .nav-active{ border-bottom: 1px solid #999ec2; } li { list-style: none; } .lileft{ float: left; padding-left: 10px; } .liright{ float: right; padding-right: 10px; } .liClass{ height: 38px; border-bottom: 0.01rem solid #d1d0d0; vertical-align: middle; line-height: 38px; } footer{ bottom: 0; width: 100%; position: fixed; text-align: center; } .ulClass{ padding: 0; } body{ font-family: 微软雅黑; margin: 0; } .jump-btn{ background-color: white; height: 30px; line-height: 30px; vertical-align: middle; } </style>
JQuery
<script type="text/javascript"> var pageSize = 5; //tap 之间的切换 function switchMenu(srcId) { pageSize = 0; $("#MenuOne").html(""); $("#MenuTwo").html(""); if (srcId == "spanMenuOne") { $("#spanMenuTwo").removeClass("nav-active"); $("#spanMenuOne").addClass("nav-active"); $("#MenuOne").css("display", ""); $("#MenuTwo").css("display", "none"); AppendHtml("MenuOne"); } else if (srcId == "spanMenuTwo") { $("#spanMenuTwo").addClass("nav-active"); $("#spanMenuOne").removeClass("nav-active"); $("#MenuOne").css("display", "none"); $("#MenuTwo").css("display", ""); AppendHtml("MenuTwo"); } } //获取隐藏域中的总数值 function getTotal(num) { if (num == 1) { return parseInt($("#MenuOne").val()); } else if (num == 2) { return parseInt($("#MenuTwo").val()); } } function AppendHtml(id){ var menuNum = ""; if (id == "MenuOne") { menuNum = "一"; } else if (id == "MenuOne") { menuNum = "二"; } if (pageSize >= 30) { return; } else{ if ($("#" + id).html() == "") { $("#" + id).append('<ul class="ulClass"></ul>'); } for (let i=1;i<=5;i++) { var strAppend = '<li class="liClass"><div class="lileft">菜单' + menuNum +'第' var t = pageSize + i; strAppend += t +'项第1列</div><div class="liright">菜单' + menuNum +'第' + t+'项第2列</div></li>'; $("#" + id + " ul:first").append(strAppend); } pageSize += 5; } } //触摸滑动事件 var pageIndex = "0"; var startY, y = 0; var isEnd = true; //获取刚触摸时的纵轴坐标 function touchSatrt(e) { var touch = e.touches[0]; y = 0; startY = touch.pageY; } //获取滑动的距离 function touchMove(e) { var touch = e.touches[0]; y = touch.pageY - startY; } //判断是否已达最后一页 function IsLastPage(totalPage) { if (parseInt(pageIndex) >= parseInt(totalPage)) { return true; } return false; } //触摸滑动后手指离开屏幕 function touchEnd(e) { if (y < 0) { if (e.currentTarget.id == "MenuOne") { if (!IsLastPage(getTotal(2))) { AppendHtml("MenuOne"); } } else if (e.currentTarget.id == "MenuTwo") { if (!IsLastPage(getTotal(1))) { AppendHtml("MenuTwo"); } } } } //注册事件 document.getElementById("MenuOne").addEventListener('touchstart', touchSatrt, false); document.getElementById("MenuOne").addEventListener('touchmove', touchMove, false); document.getElementById("MenuOne").addEventListener('touchend', touchEnd, false); document.getElementById("MenuTwo").addEventListener('touchstart', touchSatrt, false); document.getElementById("MenuTwo").addEventListener('touchmove', touchMove, false); document.getElementById("MenuTwo").addEventListener('touchend', touchEnd, false); </script>
阅读全文
1 0
- 两个菜单页面组成的手机页面滑动加载更多
- 手机网页端滑动到页面底部执行加载更多
- 微擎之手机页面向下滑动加载更多
- html页面滑动页面加载更多
- 《AngularJS》-----手机页面滚动条滑动到底端实现加载更多
- H5手机页面滑动异步加载数据
- 用html5页面引入了一个jquery插件,实现平板上的向上滑动加载更多的功能
- ajax手机端滑动加载更多
- 手机页面滑动到下个页面这么写?
- 用ajax+jQuery 实现页面加载更多(另类的分页)
- jsp页面的组成
- JSP页面的组成
- js模拟手机滑动页面
- 手机H5页面滑动事件
- Fragment+ViewPaper实现不依赖库的菜单+页面滑动
- java实现页面加载更多功能
- 滑到页面底端自动加载更多
- 页面下拉到底部自动加载更多
- fabric开发环境
- [USACO] Section1.1 Your Ride Is Here[字符串处理]
- inout port 仿真
- 124. Binary Tree Maximum Path Sum
- WIFI模块使用心得
- 两个菜单页面组成的手机页面滑动加载更多
- 02 uboot的常用命令及用法
- QT:Qt鼠标
- java long类型报错:error: integer number too large
- C++ Primer 练习 9.52 题
- css元素隐藏原理及display:none和visibility:hidden区别
- 基于 GPUImage2 图像合成视频的探索
- Linux/Android——usb触摸屏驱动
- Halcon关于图像的数学运算的几个算子