纯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 json数据传递方法
Nov 19 Javascript
vs2003 js文件编码问题的解决方法
Mar 20 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
Jan 10 Javascript
jquery中map函数与each函数的区别实例介绍
Jun 23 Javascript
JavaScript弹出窗口方法汇总
Aug 12 Javascript
js实现图片轮播效果
Dec 19 Javascript
再谈javascript常见错误及解决方法
Sep 16 Javascript
浅谈jquery上下滑动的注意事项
Oct 13 Javascript
详解jQuery简单的表格应用
Dec 16 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
May 24 Javascript
vue cli 全面解析
Feb 28 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 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
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
yii2多图上传组件的使用教程
2018/05/10 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
非常好的js代码
2006/06/27 Javascript
List the Codec Files on a Computer
2007/06/11 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
js操作select控件的几种方法
2010/06/02 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
javascript实现列表滚动的方法
2015/07/30 Javascript
jquery实现点击展开列表同时隐藏其他列表
2015/08/10 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
基于VUE选择上传图片并页面显示(图片可删除)
2017/05/25 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
vue实现评论列表功能
2019/10/25 Javascript
js实现坦克移动小游戏
2019/10/28 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
Python中的魔法方法深入理解
2014/07/09 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
Python reversed函数及使用方法解析
2020/03/17 Python
python GUI模拟实现计算器
2020/06/22 Python
卫校护理专业毕业生求职信
2013/11/26 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
个人务虚会发言材料
2014/10/20 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
民事调解书范文
2015/05/20 职场文书
现实表现证明材料
2015/06/19 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript
用Python实现屏幕截图详解
2022/01/22 Python