zoukankan      html  css  js  c++  java
  • 原生JS实现下拉刷新

    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <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;
                100%;
                left:0px;
                overflow: hidden;
            }
            li{
                list-style-type: none;
                height:35px;
                background: gainsboro;
                border-bottom: solid 1px #fff;
                text-align: left;
                line-height: 35px;
                padding-left:15px;
            }
            ul{
                100%;
                margin-top:0px;
                position: absolute;
                left:0px;
                padding:0px;
                top:0px;
            }
        </style>
    </head>
    <body>
    <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>
        </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 = 3;i>0;i--)
            {
                var node = document.createElement("li");
                node.innerHTML = "I'm new" + i;
                scroll.insertBefore(node,scroll.firstChild);
            }
        }
    </script>
    </body>
    </html>
  • 相关阅读:
    qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
    使用 acl_cpp 的 HttpServlet 类及服务器框架编写WEB服务器程序(系列文章)
    C编译器剖析PDF文档及UCC编译器162.3
    深入浅出NodeJS——数据通信,NET模块运行机制
    看AngularJS
    如何编写高效的jQuery代码
    Express安装入门与模版引擎ejs
    使用SeaJS实现模块化JavaScript开发
    RequireJS 入门指南
    RequireJS
  • 原文地址:https://www.cnblogs.com/lguow/p/9359555.html
Copyright © 2011-2022 走看看