纯javascript实现简单下拉刷新功能


Posted in Javascript onMarch 13, 2015

代码很简单,实现的功能却很实用,直接奉上代码

CSS:

<meta charset="utf-8" />

<title>Pull to Refresh</title>

<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;" />

<style>

div{

    position: absolute;

    top:0px;

    bottom:0px;

    width:100%;

    left:0px;

    overflow: hidden;

}

li{

    list-style-type: none;

    height:35px;

    background: #ccc;

    border-bottom: solid 1px #fff;

    text-align: left;

    line-height: 35px;

    padding-left:15px;

}

ul{

    width:100%;

    margin-top:0px;

    position: absolute;

    left:0px;

    padding:0px;

    top:0px;

}

</style>

HTML:

<div class="outerScroller">

    <ul class = 'scroll'>

        <li>1</li>

        <li>2</li>

        <li>3</li>

        <li>4</li>

        <li>5</li>

        <li>6</li>

        <li>7</li>

        <li>8</li>

        <li>9</li>

        <li>10</li>

         <li>1</li>

        <li>2</li>

        <li>3</li>

        <li>4</li>

        <li>5</li>

        <li>6</li>

        <li>7</li>

        <li>8</li>

        <li>9</li>

        <li>10</li>

    </ul>

</div>

<script>

   var scroll = document.querySelector('.scroll');

   var outerScroller = document.querySelector('.outerScroller');

   var touchStart = 0;

   var touchDis = 0;

   outerScroller.addEventListener('touchstart', function(event) { 

        var touch = event.targetTouches[0]; 

        // 把元素放在手指所在的位置 

           touchStart = touch.pageY; 

           console.log(touchStart);

        }, false);

   outerScroller.addEventListener('touchmove', function(event) { 

        var touch = event.targetTouches[0]; 

        console.log(touch.pageY + 'px');  

        scroll.style.top = scroll.offsetTop + touch.pageY-touchStart + 'px';

        console.log(scroll.style.top);

        touchStart = touch.pageY;

        touchDis = touch.pageY-touchStart;

        }, false);

   outerScroller.addEventListener('touchend', function(event) { 

        touchStart = 0;

        var top = scroll.offsetTop;

        console.log(top);

        if(top>70)refresh();

        if(top>0){

            var time = setInterval(function(){

              scroll.style.top = scroll.offsetTop -2+'px';

              if(scroll.offsetTop<=0)clearInterval(time);

            },1)

        }

    }, false);

   function refresh(){

    for(var i = 10;i>0;i--)

        {

            var node = document.createElement("li");

            node.innerHTML = "I'm new";

            scroll.insertBefore(node,scroll.firstChild);

        }

   }

</script>

以上就是本文的全部内容了,希望对大家学习javascript能够有所帮助。

Javascript 相关文章推荐
AJAX 网页保留浏览器前进后退等功能
Feb 12 Javascript
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
JavaScript中双叹号(!!)作用示例介绍
Apr 10 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
Aug 26 Javascript
JavaScript为事件句柄绑定监听函数实例详解
Dec 15 Javascript
jquery自定义右键菜单、全选、不连续选择
Mar 01 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
Aug 19 Javascript
BootStrap使用file-input插件上传图片的方法
Sep 05 Javascript
原生js验证简洁注册登录页面
Dec 17 Javascript
10道典型的JavaScript面试题
Mar 22 Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 Javascript
关于JavaScript回调函数的深入理解
Jun 27 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
Mar 13 #Javascript
node.js [superAgent] 请求使用示例
Mar 13 #Javascript
JavaScript中逗号运算符介绍及使用示例
Mar 13 #Javascript
JavaScript原生对象之String对象的属性和方法详解
Mar 13 #Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
Mar 13 #Javascript
JavaScript原生对象之Number对象的属性和方法详解
Mar 13 #Javascript
JavaScript原生对象之Date对象的属性和方法详解
Mar 13 #Javascript
You might like
php xfocus防注入资料
2008/04/27 PHP
PHP 面向对象 final类与final方法
2010/05/05 PHP
基于php-fpm的配置详解
2013/06/03 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
2017/05/12 PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
2017/07/03 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
在vue中利用v-html按分号将文本换行的例子
2019/11/14 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
详解Python中的元组与逻辑运算符
2015/10/13 Python
一文带你了解Python中的字符串是什么
2018/11/20 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
python找出因数与质因数的方法
2019/07/25 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
详解KMP算法以及python如何实现
2020/09/18 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
Python使用Pygame绘制时钟
2020/11/29 Python
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
竞聘书模板
2014/03/31 职场文书
我的理想演讲稿
2014/04/30 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
初三毕业感言
2015/07/31 职场文书
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers