html5+css3实现手机下拉和下拉刷新
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
- <meta name="apple-mobile-web-app-capable" content="yes">
- <meta name="apple-mobile-web-app-status-bar-style" content="black">
- <title>html5+css3实现上拉和下拉刷新</title>
- <script type="text/javascript" src="http://statics.webkfa.com/js/iscroll.js"></script>
- <script type="text/javascript">
- var myScroll,
- pullDownEl, pullDownOffset,
- pullUpEl, pullUpOffset,
- generatedCount = 0;
- function pullDownAction () {
- setTimeout(function () { // <-- Simulate network congestion, remove setTimeout from production!
- var el, li, i;
- el = document.getElementById('thelist');
- for (i=0; i<3; i++) {
- li = document.createElement('li');
- li.innerText = 'Generated row ' + (++generatedCount);
- el.insertBefore(li, el.childNodes[0]);
- }
- myScroll.refresh(); // Remember to refresh when contents are loaded (ie: on ajax completion)
- }, 1000); // <-- Simulate network congestion, remove setTimeout from production!
- }
- function pullUpAction () {
- setTimeout(function () { // <-- Simulate network congestion, remove setTimeout from production!
- var el, li, i;
- el = document.getElementById('thelist');
- for (i=0; i<3; i++) {
- li = document.createElement('li');
- li.innerText = 'Generated row ' + (++generatedCount);
- el.appendChild(li, el.childNodes[0]);
- }
- myScroll.refresh(); // Remember to refresh when contents are loaded (ie: on ajax completion)
- }, 1000); // <-- Simulate network congestion, remove setTimeout from production!
- }
- function loaded() {
- pullDownEl = document.getElementById('pullDown');
- pullDownOffset = pullDownEl.offsetHeight;
- pullUpEl = document.getElementById('pullUp');
- pullUpOffset = pullUpEl.offsetHeight;
- myScroll = new iScroll('wrapper', {
- useTransition: true,
- topOffset: pullDownOffset,
- onRefresh: function () {
- if (pullDownEl.className.match('loading')) {
- pullDownEl.className = '';
- pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Pull down to refresh...';
- } else if (pullUpEl.className.match('loading')) {
- pullUpEl.className = '';
- pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Pull up to load more...';
- }
- },
- onScrollMove: function () {
- if (this.y > 5 && !pullDownEl.className.match('flip')) {
- pullDownEl.className = 'flip';
- pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Release to refresh...';
- this.minScrollY = 0;
- } else if (this.y < 5 && pullDownEl.className.match('flip')) {
- pullDownEl.className = '';
- pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Pull down to refresh...';
- this.minScrollY = -pullDownOffset;
- } else if (this.y < (this.maxScrollY - 5) && !pullUpEl.className.match('flip')) {
- pullUpEl.className = 'flip';
- pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Release to refresh...';
- this.maxScrollY = this.maxScrollY;
- } else if (this.y > (this.maxScrollY + 5) && pullUpEl.className.match('flip')) {
- pullUpEl.className = '';
- pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Pull up to load more...';
- this.maxScrollY = pullUpOffset;
- }
- },
- onScrollEnd: function () {
- if (pullDownEl.className.match('flip')) {
- pullDownEl.className = 'loading';
- pullDownEl.querySelector('.pullDownLabel').innerHTML = 'Loading...';
- pullDownAction(); // Execute custom function (ajax call?)
- } else if (pullUpEl.className.match('flip')) {
- pullUpEl.className = 'loading';
- pullUpEl.querySelector('.pullUpLabel').innerHTML = 'Loading...';
- pullUpAction(); // Execute custom function (ajax call?)
- }
- }
- });
- setTimeout(function () { document.getElementById('wrapper').style.left = '0'; }, 800);
- }
- document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
- document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 200); }, false);
- </script>
- <style type="text/css" media="all">
- body,ul,li {
- padding:0;
- margin:0;
- border:0;
- }
- body {
- font-size:12px;
- -webkit-user-select:none;
- -webkit-text-size-adjust:none;
- font-family:helvetica;
- }
- #header {
- position:absolute; z-index:2;
- top:0; left:0;
- width:100%;
- height:45px;
- line-height:45px;
- background-color:#d51875;
- background-image:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0, #fe96c9), color-stop(0.05, #d51875), color-stop(1, #7b0a2e));
- background-image:-moz-linear-gradient(top, #fe96c9, #d51875 5%, #7b0a2e);
- background-image:-o-linear-gradient(top, #fe96c9, #d51875 5%, #7b0a2e);
- padding:0;
- color:#eee;
- font-size:20px;
- text-align:center;
- }
- #header a {
- color:#f3f3f3;
- text-decoration:none;
- font-weight:bold;
- text-shadow:0 -1px 0 rgba(0,0,0,0.5);
- }
- #footer {
- position:absolute; z-index:2;
- bottom:0; left:0;
- width:100%;
- height:48px;
- background-color:#222;
- background-image:-webkit-gradient(linear, 0 0, 0 100%, color-stop(0, #999), color-stop(0.02, #666), color-stop(1, #222));
- background-image:-moz-linear-gradient(top, #999, #666 2%, #222);
- background-image:-o-linear-gradient(top, #999, #666 2%, #222);
- padding:0;
- border-top:1px solid #444;
- }
- #wrapper {
- position:absolute; z-index:1;
- top:45px; bottom:48px; left:-9999px;
- width:100%;
- background:#aaa;
- overflow:auto;
- }
- #scroller {
- position:absolute; z-index:1;
- /* -webkit-touch-callout:none;*/
- -webkit-tap-highlight-color:rgba(0,0,0,0);
- width:100%;
- padding:0;
- }
- #scroller ul {
- list-style:none;
- padding:0;
- margin:0;
- width:100%;
- text-align:left;
- }
- #scroller li {
- padding:0 10px;
- height:40px;
- line-height:40px;
- border-bottom:1px solid #ccc;
- border-top:1px solid #fff;
- background-color:#fafafa;
- font-size:14px;
- }
- #myFrame {
- position:absolute;
- top:0; left:0;
- }
- /**
- *
- * Pull down styles
- *
- */
- #pullDown, #pullUp {
- background:#fff;
- height:40px;
- line-height:40px;
- padding:5px 10px;
- border-bottom:1px solid #ccc;
- font-weight:bold;
- font-size:14px;
- color:#888;
- }
- #pullDown .pullDownIcon, #pullUp .pullUpIcon {
- display:block; float:left;
- width:40px; height:40px;
- background:url(http://statics.webkfa.com/img/pull-icon@2x.png) 0 0 no-repeat;
- -webkit-background-size:40px 80px; background-size:40px 80px;
- -webkit-transition-property:-webkit-transform;
- -webkit-transition-duration:250ms;
- }
- #pullDown .pullDownIcon {
- -webkit-transform:rotate(0deg) translateZ(0);
- }
- #pullUp .pullUpIcon {
- -webkit-transform:rotate(-180deg) translateZ(0);
- }
- #pullDown.flip .pullDownIcon {
- -webkit-transform:rotate(-180deg) translateZ(0);
- }
- #pullUp.flip .pullUpIcon {
- -webkit-transform:rotate(0deg) translateZ(0);
- }
- #pullDown.loading .pullDownIcon, #pullUp.loading .pullUpIcon {
- background-position:0 100%;
- -webkit-transform:rotate(0deg) translateZ(0);
- -webkit-transition-duration:0ms;
- -webkit-animation-name:loading;
- -webkit-animation-duration:2s;
- -webkit-animation-iteration-count:infinite;
- -webkit-animation-timing-function:linear;
- }
- @-webkit-keyframes loading {
- from { -webkit-transform:rotate(0deg) translateZ(0); }
- to { -webkit-transform:rotate(360deg) translateZ(0); }
- }
- </style>
- </head>
- <body>
- <div id="header"><a href="http://cubiq.org/iscroll">iScroll</a></div>
- <div id="wrapper">
- <div id="scroller">
- <div id="pullDown">
- <span class="pullDownIcon"></span><span class="pullDownLabel">Pull down to refresh...</span>
- </div>
- <ul id="thelist">
- <li>Pretty row 1</li>
- <li>Pretty row 2</li>
- <li>Pretty row 3</li>
- <li>Pretty row 4</li>
- <li>Pretty row 5</li>
- <li>Pretty row 6</li>
- <li>Pretty row 7</li>
- <li>Pretty row 8</li>
- <li>Pretty row 9</li>
- <li>Pretty row 10</li>
- <li>Pretty row 11</li>
- <li>Pretty row 12</li>
- <li>Pretty row 13</li>
- <li>Pretty row 14</li>
- <li>Pretty row 15</li>
- <li>Pretty row 16</li>
- <li>Pretty row 17</li>
- <li>Pretty row 18</li>
- <li>Pretty row 19</li>
- <li>Pretty row 20</li>
- <li>Pretty row 21</li>
- <li>Pretty row 22</li>
- <li>Pretty row 23</li>
- <li>Pretty row 24</li>
- <li>Pretty row 25</li>
- <li>Pretty row 26</li>
- <li>Pretty row 27</li>
- <li>Pretty row 28</li>
- <li>Pretty row 29</li>
- <li>Pretty row 30</li>
- <li>Pretty row 31</li>
- <li>Pretty row 32</li>
- <li>Pretty row 33</li>
- <li>Pretty row 34</li>
- <li>Pretty row 35</li>
- <li>Pretty row 36</li>
- <li>Pretty row 37</li>
- <li>Pretty row 38</li>
- <li>Pretty row 39</li>
- <li>Pretty row 40</li>
- </ul>
- <div id="pullUp">
- <span class="pullUpIcon"></span><span class="pullUpLabel">Pull up to refresh...</span>
- </div>
- </div>
- </div>
- <div id="footer"></div>
- </body>
- </html>
html5+css3实现手机下拉和下拉刷新的更多相关文章
- jquery_mobile.js+html5+css3打造手机平板等各种效果
http://www.w3school.com.cn/jquerymobile/jquerymobile_events_orientation.asp
- 精心挑选的HTML5/CSS3应用及源码
这段时间我已经为大家分享了不少关于HTML5应用和jQuery插件了,先来回顾一下: 炫酷霸气的HTML5/jQuery应用及源码 干货分享 超炫丽的HTML5/jQuery应用及代码 绚丽而实用的j ...
- 24个 HTML5 & CSS3 下拉菜单效果及制作教程
下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用 HTML5 和 CSS3 可以更容易 ...
- 10个优秀的 HTML5 & CSS3 下拉菜单制作教程
下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用 HTML5 和 CSS3 可以更容易 ...
- 11个优秀的HTML5 & CSS3下拉菜单制作教程
下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用HTML5和CSS3可以更容易创造视觉 ...
- html5+css3实现上拉和下拉刷新
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...
- 巧用CSS3 :target 伪类制作Dropdown下拉菜单(无JS)
:target 是CSS3 中新增的一个伪类,用以匹配当前页面的URI中某个标志符的目标元素(比如说当前页面URL下添加#comment就会定位到id=“comment”的位置,俗称锚).CSS3 为 ...
- JS 模拟手机页面文件的下拉刷新
js 模拟手机页面文件的下拉刷新初探 老总说需要这个功能,好吧那就看看相关的东西呗 最后弄出了一个简单的下拉刷新页面的形式,还不算太复杂 查看 demo 要在仿真器下才能看到效果,比如chrome的里 ...
- Html5+css3+angularjs+jquery+webAPi 开发手机web(一)
前言 随着浏览器的发展 HTML5+CSS3 的使用也越来越广泛,一直想学这个,想学那个折腾下来几乎没学到什么东西.工作经验告诉我,要掌握一门技术,就需要在项目中去磨练, 所以我就准备开发一个手机端的 ...
随机推荐
- 利用PPPOE认证获取路由器中宽带账号密码
前言 回家时买了一台极路由准备换掉家里老掉牙的阿里路由器,想进后台看一下宽带账号密码,咦???后台密码是什么来着??? 我陷入了沉思,家里的路由器一般都是pppoe拨号,而路由器在与pppoe认证服务 ...
- rabbitmq集群节点操作
节点恢复过程中把数据删掉很重要,恢复一单结点,再清数据 节点增加: 1. rabbitmq-server -detached --- .erlang.cooike的权限,400 属主rabbitm ...
- PHP Warning: 的解决方法
在后台管理,用header("location:");做返回时,总是不能正常返回, Warning: Cannot modify header information - head ...
- 如何看一个VC工程具体是什么工程?
VC6等可以创建MFC, Win32等工程,拿到一个工程,怎么判断是什么工程呢? VC6全文检索看看有没有theApp 如果有一般就是MFC的 (VS?)看看工程设置,入口点函数写的是什么,/subs ...
- Centos 7 搭建OpenStack 私有云——(1)基础环境配置
1.简介: OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个开源的云计算管理 ...
- 黑马程序猿——JAVA高新技术——反射
----------android培训.java培训.java学习型技术博客.期待与您交流!------------ 一.对于反射的概念 对于JAVA反射机制是在执行状态中,对于随意一个类.都可以知道 ...
- [转]php-fpm配置具体解释
[转]php-fpm配置具体解释 php-fpm具体解释 原文链接:http://php-fpm.anight.org/wiki:http://www.php-fpm.com/翻译:http://sy ...
- 小结:VB.NET机房收费系统个人版
经过几天的缝缝补补,自己的个人版最终OK了,!或许是由于有第一次的机房收费系统的经验,这次做,感觉很亲切. 在业务逻辑方面,沿袭曾经的逻辑.做了一点升级.可是修改不大. 在数据库方面,感觉自己从一个小 ...
- 使用Cocos studio创建一个简单的project
前不久我接到了一个项目,项目要求使用Cocos2d-X的最新版本号,Cocos2d-X3.4.对于一直在陶醉在Cocos2d-X2.2.3的世界中的我开说,使用Cocos2d-X3.4忽然认为有点不适 ...
- 【BIEE】[nQSError: 35008]尝试从服务器检出对象时出错。请验证服务器设置。
今天在使用PRD时,我先导入表A,然后觉得表A的名字不好,就把导入的表A重命名为表A_TMP,接着保存资料库就卡住了"未响应"(一般不会出现这种问题) 接着我直接使用任务管理器强制 ...