首页前端开发HTMLhtml5实现移动端下拉刷新(原理和代码)

html5实现移动端下拉刷新(原理和代码)

时间2024-01-23 14:44:20发布访客分类HTML浏览175
导读:收集整理的这篇文章主要介绍了html5实现移动端下拉刷新(原理和代码),觉得挺不错的,现在分享给大家,也给大家做个参考。这篇文章给大家介绍的内容是关于htML5实现移动端下拉刷新(原理和代码),有一定的参考价值,有需要的朋友可以参考一下,希...
收集整理的这篇文章主要介绍了html5实现移动端下拉刷新(原理和代码),觉得挺不错的,现在分享给大家,也给大家做个参考。这篇文章给大家介绍的内容是关于htML5实现移动端下拉刷新(原理和代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

移动端的下拉刷新是一个很常见的功能,也有许多开源库实现了这个功能,不过为了学习,还是先自己写一个例子学习一下。其中用到了一些touch事件和一些DOM属性CSS3属性。直接上代码,代码里面有注释。

!DOCTYPE html>
    html lang="en">
    head>
        meta charset="UTF-8">
        meta name="viewport" content="width=device-width, inITial-scale=1">
        title>
    Document/title>
        style type="text/css">
        html,        body,        header,        p,        main,        p,        span,        ul,        li {
                margin: 0;
                padding: 0;
        }
        #refreshContainer li {
                background-color: #eee;
                margin-bottom: 1px;
                padding: 20px 10px;
        }
        .refreshText {
                position: absolute;
                width: 100%;
                line-height: 50px;
                text-align: center;
                left: 0;
                top: 0;
                transform: translateY(-50px);
        }
        /style>
    /head>
    body>
        main class="parent">
            p class="refreshText">
    /p>
            ul id="refreshContainer">
                li>
    111/li>
                li>
    222/li>
                li>
    333/li>
                li>
    444/li>
                li>
    555/li>
                li>
    111/li>
                li>
    222/li>
                li>
    333/li>
                li>
    444/li>
                li>
    555/li>
                li>
    111/li>
                li>
    222/li>
                li>
    333/li>
                li>
    444/li>
                li>
    555/li>
            /ul>
        /main>
        script type="text/javascript">
        window.onload = function(){
                //1.获取到列表的dom,刷新显示部分的dom,列表父容器的dom            let container = document.querySelector('#refreshContainer');
                let refreshText = document.querySelector('.refreshText');
                let parent = document.querySelector('.parent');
                //2.定义一些需要常用的变量            let startY = 0;
    //手指触摸最开始的Y坐标            let endY = 0;
//手指结束触摸时的Y坐标                       //3.给列表dom监听touchstart事件,得到起始位置的Y坐标            parent.addEventListener('touchstart',function(e){
                    startY = e.touches[0].pageY;
            }
    );
            //4.给列表dom监听touchmove事件,当移动到一定程度需要显示上面的文字            parent.addEventListener('touchmove',function (e) {
                     if(isTop() &
    &
     (e.touches[0].pageY-startY) >
 0){
                        console.LOG('下拉了');
                        refreshText.style.height = "50px";
                        parent.style.transform = "translateY(50px)";
                        parent.style.transition = "all ease 0.5s";
                        refreshText.innerHTML = "释放立即刷新...";
                }
            }
    );
            //5.给列表dom监听touchend事件,此时说明用户已经松开了手指,应该进行异步操作了            parent.addEventListener('touchend',function (e) {
                 if(isTop()){
                        refreshText.innerHTML = "正在刷新...";
                    setTimeout(function(){
                            parent.style.transform = "translateY(0)";
                            console.log('成功刷新');
                    }
,2000)                }
                    return;
            }
)            function isTop(){
                    VAR t = document.documentElement.scrollTop||document.body.scrollTop;
                    return t === 0 ? true : false;
            }
        }
        /script>
    /body>
    /html>
    
  • 其中用到了CSS3中的transform和aniMATE。因为既然都是移动端了,这些东西基本上都支持了。

  • 具体看代码吧,注释也有。本文只是讲解原理,后续将会对其进行封装成一个对象。方便直接调用。

相关文章推荐:

vue.js移动端实现上拉加载下拉刷新

移动端下拉刷新,iScroll.js用法(转载)_html/css_WEB-iTnose

以上就是html5实现移动端下拉刷新(原理和代码)的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

htmlhtml5

若转载请注明出处: html5实现移动端下拉刷新(原理和代码)
本文地址: https://pptw.com/jishu/584321.html
H5开发:实现消灭星星游戏的详细内容 html5是什么?html5的介绍以及优缺点总结

游客 回复需填写必要信息