国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android微信端的下拉刷新功能

2019-10-23 18:27:25
字體:
供稿:網(wǎng)友

在Android和iOS上對(duì)于下拉刷新的處理方法:

在微信公眾號(hào)內(nèi),在面對(duì)下拉刷新這個(gè)問題上,Android和iOS都自己的表現(xiàn)方式:

    iOS:

android,微信下拉刷新

    Android:

android,微信下拉刷新

所以我們要給內(nèi)容加載監(jiān)聽器 

   function bindEvent() {       document.addEventListener('touchstart', touchSatrtFunc, false);      document.addEventListener('touchmove', touchMoveFunc, false);       document.addEventListener('touchend', touchEndFunc, false);    }

注意:  

 document.addEventListener("事件名稱", 函數(shù), false);      function 某函數(shù)(event){      // 方法執(zhí)行    }

我們首先要獲取我們手指放在屏幕上的位置, 

 function touchSatrtFunc(evt) {      try {        var touch = evt.targetTouches[0]; //獲取第一個(gè)觸點(diǎn)        var x = Number(touch.pageX); //頁面觸點(diǎn)X坐標(biāo)(起始位置)(相對(duì)于內(nèi)容)        var y = Number(touch.pageY); //頁面觸點(diǎn)Y坐標(biāo)(起始位置)(相對(duì)于內(nèi)容)        var y1 = Number(touch.screenY); //頁面觸點(diǎn)Y坐標(biāo)(起始位置)(相對(duì)于屏幕)        //記錄觸點(diǎn)初始位置        startX1 = x;        startY1 = y;        startSY1 = y;      }    }

如果我們只是iOS的話,那么我們只需要獲取相對(duì)于內(nèi)容的起始位置就可以了,但是由于android中的下拉是整體下拉.那么相對(duì)于內(nèi)容的位移就不大,這就需要相對(duì)于屏幕的位置的取值了  

 function touchMoveFunc(evt) {      try {        var scrollTop = $(".tui_container").scrollTop();        var touch = evt.targetTouches[0]; //獲取第一個(gè)觸點(diǎn)        var x = Number(touch.pageX); //頁面觸點(diǎn)X坐標(biāo)        var y = Number(touch.pageY); //頁面觸點(diǎn)Y坐標(biāo)(移動(dòng)位置)(相對(duì)于內(nèi)容)        var y2 = Number(touch.screenY); //頁面觸點(diǎn)Y坐標(biāo)(移動(dòng)位置)(相對(duì)于屏幕)        startX2 = x;        startY2 = y;        startSY2 = y2;        if(scrollTop <= 0) {          if(startSY2 - startSY1>100) {             $(".loading_refresh").removeClass("disn");            setTimeout(function(){             window.location.reload();           },1500)         }        }      }   }

手指在移動(dòng)中執(zhí)行的事件,獲取到的值是不斷變化的,當(dāng)滿足相對(duì)第一個(gè)獲取到的值的偏差時(shí)執(zhí)行事件刷新,這里的iOS和Android都試用. 

function touchEndFunc(evt) {    try {       var top = evt.target.scrollTop;      var touch = evt.changedTouches[0]; //獲取最后一個(gè)觸點(diǎn)      var startX3 = Number(touch.pageX); //頁面觸點(diǎn)X坐標(biāo)      var startY3 = Number(touch.pageY); //頁面觸點(diǎn)Y坐標(biāo)         var y3 = Number(touch.screenY); //頁面觸點(diǎn)Y坐標(biāo)(移動(dòng)位置)(相對(duì)于屏幕)      startSY3=y3;      var scrollTop = $(".tui_container").scrollTop();     }  }

這里可以獲取的是手指離開時(shí)獲取的位置,但是由于android是整體下拉,這刷新主要根據(jù)的就是滑動(dòng)滾動(dòng)的scrollTop(),android無法獲取到scrollTop==0時(shí)的情況,所以拋棄在手指滑動(dòng)結(jié)束后執(zhí)行的事件(我注釋掉了,就不寫了).

以上所述是小編給大家介紹的Android微信端的下拉刷新功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VEVB武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 昌邑市| 定日县| 教育| 宣化县| 家居| 互助| 诸暨市| 金坛市| 甘孜县| 繁峙县| 唐河县| 太康县| 石门县| 青铜峡市| 仪征市| 潮安县| 荔波县| 沽源县| 蒙城县| 汝阳县| 昭苏县| 新田县| 大悟县| 社旗县| 怀柔区| 滨海县| 郴州市| 西乌珠穆沁旗| 道真| 黄浦区| 和顺县| 曲阜市| 城步| 阜新| 新巴尔虎左旗| 铜山县| 兴业县| 偏关县| 客服| 东城区| 廊坊市|