成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何實(shí)現(xiàn)html5實(shí)現(xiàn)移動(dòng)端下拉刷新

本篇文章給大家分享的是有關(guān)如何實(shí)現(xiàn)html5實(shí)現(xiàn)移動(dòng)端下拉刷新,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

成都創(chuàng)新互聯(lián)長(zhǎng)期為上1000+客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為原州企業(yè)提供專(zhuān)業(yè)的網(wǎng)站制作、網(wǎng)站設(shè)計(jì),原州網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

移動(dòng)端的下拉刷新是一個(gè)很常見(jiàn)的功能,也有許多開(kāi)源庫(kù)實(shí)現(xiàn)了這個(gè)功能,不過(guò)為了學(xué)習(xí),還是先自己寫(xiě)一個(gè)例子學(xué)習(xí)一下。其中用到了一些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;//手指觸摸最開(kāi)始的Y坐標(biāo)
            let endY = 0;//手指結(jié)束觸摸時(shí)的Y坐標(biāo)
           
            //3.給列表dom監(jiān)聽(tīng)touchstart事件,得到起始位置的Y坐標(biāo)
            parent.addEventListener('touchstart',function(e){
                startY = e.touches[0].pageY;
            });
            //4.給列表dom監(jiān)聽(tīng)touchmove事件,當(dāng)移動(dòng)到一定程度需要顯示上面的文字
            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監(jiān)聽(tīng)touchend事件,此時(shí)說(shuō)明用戶(hù)已經(jīng)松開(kāi)了手指,應(yīng)該進(jìn)行異步操作了
            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。因?yàn)榧热欢际且苿?dòng)端了,這些東西基本上都支持了。

  • 具體看代碼吧,注釋也有。本文只是講解原理,后續(xù)將會(huì)對(duì)其進(jìn)行封裝成一個(gè)對(duì)象。方便直接調(diào)用。

以上就是如何實(shí)現(xiàn)html5實(shí)現(xiàn)移動(dòng)端下拉刷新,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享文章:如何實(shí)現(xiàn)html5實(shí)現(xiàn)移動(dòng)端下拉刷新
網(wǎng)址分享:http://jinyejixie.com/article26/ijgpjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、品牌網(wǎng)站建設(shè)、、App設(shè)計(jì)、小程序開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
布尔津县| 怀宁县| 凤冈县| 响水县| 赤水市| 浪卡子县| 同心县| 安新县| 运城市| 墨玉县| 白河县| 临沂市| 和平区| 苏尼特右旗| 白朗县| 莱州市| 禄丰县| 漳州市| 廉江市| 德令哈市| 莱西市| 陆川县| 沽源县| 利辛县| 康马县| 金塔县| 宝清县| 舟山市| 竹溪县| 都昌县| 芦溪县| 陇川县| 大冶市| 当涂县| 麻阳| 苏尼特左旗| 广水市| 莱芜市| 蒙城县| 霍州市| 镇巴县|