Android微信端的下拉刷新功能
在Android和iOS上對(duì)于下拉刷新的處理方法:
在微信公眾號(hào)內(nèi),在面對(duì)下拉刷新這個(gè)問(wèn)題上,Android和iOS都自己的表現(xiàn)方式:
iOS:
Android:
所以我們要給內(nèi)容加載監(jiān)聽(tīng)器
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); //頁(yè)面觸點(diǎn)X坐標(biāo)(起始位置)(相對(duì)于內(nèi)容) var y = Number(touch.pageY); //頁(yè)面觸點(diǎn)Y坐標(biāo)(起始位置)(相對(duì)于內(nèi)容) var y1 = Number(touch.screenY); //頁(yè)面觸點(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); //頁(yè)面觸點(diǎn)X坐標(biāo) var y = Number(touch.pageY); //頁(yè)面觸點(diǎn)Y坐標(biāo)(移動(dòng)位置)(相對(duì)于內(nèi)容) var y2 = Number(touch.screenY); //頁(yè)面觸點(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); //頁(yè)面觸點(diǎn)X坐標(biāo) var startY3 = Number(touch.pageY); //頁(yè)面觸點(diǎn)Y坐標(biāo) var y3 = Number(touch.screenY); //頁(yè)面觸點(diǎn)Y坐標(biāo)(移動(dòng)位置)(相對(duì)于屏幕) startSY3=y3; var scrollTop = $(".tui_container").scrollTop(); } }
這里可以獲取的是手指離開(kāi)時(shí)獲取的位置,但是由于android是整體下拉,這刷新主要根據(jù)的就是滑動(dòng)滾動(dòng)的scrollTop(),
android無(wú)法獲取到scrollTop==0
時(shí)的情況,所以拋棄在手指滑動(dòng)結(jié)束后執(zhí)行的事件(我注釋掉了,就不寫了).
以上所述是小編給大家介紹的Android微信端的下拉刷新功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
android基礎(chǔ)總結(jié)篇之八:創(chuàng)建及調(diào)用自己的ContentProvider
這篇文章主要介紹了android基礎(chǔ)總結(jié)篇之八:創(chuàng)建及調(diào)用自己的ContentProvider,有興趣的可以了解一下。2016-11-11Android中在WebView里實(shí)現(xiàn)Javascript調(diào)用Java類的方法
這篇文章主要介紹了Android中在WebView里實(shí)現(xiàn)Javascript調(diào)用Java類的方法,本文直接給出示例,需要的朋友可以參考下2015-03-03android ScrollView實(shí)現(xiàn)下拉放大頭部圖片
這篇文章主要為大家詳細(xì)介紹了android ScrollView實(shí)現(xiàn)下拉放大頭部圖片,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android自定義ViewGroup之第一次接觸ViewGroup
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup之第一次接觸ViewGroup,感興趣的小伙伴們可以參考一下2016-06-06Android中PathMeasure仿支付寶支付動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了Android中PathMeasure仿支付寶支付動(dòng)畫,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android 大文件上傳時(shí)處理上傳進(jìn)度問(wèn)題小結(jié)
進(jìn)行大文件上傳時(shí),顯示上傳進(jìn)度給用戶帶來(lái)極好的用戶體驗(yàn)度,今天小編給大家分享Android 大文件上傳時(shí)處理上傳進(jìn)度問(wèn)題小結(jié),需要的的朋友參考下吧2017-04-04Android軟鍵盤顯示模式及打開(kāi)和關(guān)閉方式(推薦)
這篇文章主要介紹了Android軟鍵盤顯示模式及打開(kāi)和關(guān)閉方式(推薦),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02Android優(yōu)雅的方式解決軟鍵盤遮擋按鈕問(wèn)題
這篇文章主要介紹了Android優(yōu)雅的方式解決軟鍵盤遮擋按鈕問(wèn)題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01Android Studio 下自動(dòng)注釋(自定義作者,類作用等)圖文詳解
android studio 下自動(dòng)注釋功能居然被隱藏了,很多功能都不見(jiàn)了,下面小編通過(guò)本文給大家分享Android Studio 下自動(dòng)注釋(自定義作者,類作用等)圖文詳解,需要的朋友參考下吧2017-11-11