亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery模擬原生態App上拉刷新下拉加載更多頁面及原理

2019-11-20 11:52:57
字體:
來源:轉載
供稿:網友

很多App中,新聞或者展示類都存在下拉刷新和上拉加載的效果,網上提供了實現這種效果的第三方類(詳情請見MJRefresh和EGOTableViewPullRefresh),用起來很方便,但是閑暇之余,我們可以思考下,這種效果實現的原理是什么,我以前說過,只要是動畫都是騙人的,只要不是硬件問題大部分效果都能在系統UI的基礎上做出來.
下面通過jQuery手機端上拉下拉刷新頁面代碼,很像QQ空間客戶端或者微信下拉刷新頁面特效代碼。
請看下面效果圖:

在線預覽    源碼下載

html代碼:

<div id="wrapper"> <ul>  <li>row </li>  <li>row </li>  <li>row </li>  <li>row </li>  <li>row </li>  <li>row </li>  <li>row </li>  <li>row </li>  <li>row </li>  <li>row </li> </ul> </div> <script> for (var i = ; i < document.querySelectorAll("#wrapper ul li").length; i++) {  document.querySelectorAll("#wrapper ul li")[i].colorfulBg(); } refresher.init({  id: "wrapper",//<------------------------------------------------------------------------------------┐  pullDownAction: Refresh,  pullUpAction: Load }); var generatedCount = ; function Refresh() {  setTimeout(function () { // <-- Simulate network congestion, remove setTimeout from production!  var el, li, i;  el = document.querySelector("#wrapper ul");  el.innerHTML = '';  for (i = ; i < ; i++) {   li = document.createElement('li');   li.appendChild(document.createTextNode('async row ' + (++generatedCount)));   el.insertBefore(li, el.childNodes[]);  }  wrapper.refresh();/****remember to refresh after action completed! ---yourId.refresh(); ----| ****/  for (var i = ; i < document.querySelectorAll("#wrapper ul li").length; i++) {   document.querySelectorAll("#wrapper ul li")[i].colorfulBg();  }  }, ); } function Load() {  setTimeout(function () {// <-- Simulate network congestion, remove setTimeout from production!  var el, li, i;  el = document.querySelector("#wrapper ul");  for (i = ; i < ; i++) {   li = document.createElement('li');   li.appendChild(document.createTextNode('async row ' + (++generatedCount)));   el.appendChild(li, el.childNodes[]);  }  wrapper.refresh();/****remember to refresh after action completed!?。?---id.refresh(); --- ****/  for (var i = ; i < document.querySelectorAll("#wrapper ul li").length; i++) {   document.querySelectorAll("#wrapper ul li")[i].colorfulBg();  }  }, ); } </script>

下拉刷新和上拉加載更多原理詳解,具體介紹通過代碼分析。

代碼如下:

// 下拉刷新的原理 - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {  if (scrollView.contentOffset.y < - 100) {    [UIView animateWithDuration:1.0 animations:^{     // frame發生偏移,距離頂部150的距離(可自行設定)   self.tableView.contentInset = UIEdgeInsetsMake(150.0f, 0.0f, 0.0f, 0.0f);  } completion:^(BOOL finished) {     /**   * 發起網絡請求,請求刷新數據   */   }];  } } // 上拉加載的原理 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {  NSLog(@"%f",scrollView.contentOffset.y);  NSLog(@"%f",scrollView.frame.size.height);  NSLog(@"%f",scrollView.contentSize.height);  /**  * 關鍵-->  * scrollView一開始并不存在偏移量,但是會設定contentSize的大小,所以contentSize.height永遠都會比contentOffset.y高一個手機屏幕的  * 高度;上拉加載的效果就是每次滑動到底部時,再往上拉的時候請求更多,那個時候產生的偏移量,就能讓contentOffset.y + 手機屏幕尺寸高大于這  * 個滾動視圖的contentSize.height  */  if (scrollView.contentOffset.y + scrollView.frame.size.height >= scrollView.contentSize.height) {  NSLog(@"%d %s",__LINE__,__FUNCTION__);  [UIView commitAnimations];  [UIView animateWithDuration:1.0 animations:^{   // frame發生的偏移量,距離底部往上提高60(可自行設定)   self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 60, 0);  } completion:^(BOOL finished) {   /**   * 發起網絡請求,請求加載更多數據   * 然后在數據請求回來的時候,將contentInset改為(0,0,0,0)   */  }];  } } 

以上內容就是本文針對jQuery模擬原生態App上拉刷新下拉加載更多頁面及原理詳解,希望對大家有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品成人免费视频| 国产婷婷成人久久av免费高清| 欧美成人免费播放| 丝袜一区二区三区| 777午夜精品福利在线观看| 一区二区在线视频| 日本91av在线播放| 亚洲福利在线观看| 国产网站欧美日韩免费精品在线观看| 国产成人精品久久亚洲高清不卡| 中文字幕亚洲自拍| 国产日韩欧美影视| 色综合久久88色综合天天看泰| 久久亚洲精品成人| 欧美一区二区三区精品电影| 亚洲欧美激情精品一区二区| www.亚洲天堂| 欧美午夜xxx| 国产精品影片在线观看| 韩剧1988在线观看免费完整版| 亚洲第一天堂无码专区| 久久久精品在线| 日韩人体视频一二区| 欧美日韩中文字幕在线| 日韩一区二区三区国产| 国产v综合ⅴ日韩v欧美大片| 亲爱的老师9免费观看全集电视剧| 欧美日韩国产精品专区| 中文字幕av一区中文字幕天堂| 亚洲免费人成在线视频观看| 欧美理论电影在线观看| 91免费在线视频网站| 亚洲free性xxxx护士白浆| 国产日韩欧美日韩大片| 国产ts人妖一区二区三区| 亚洲性视频网站| 亚洲一区二区三区乱码aⅴ蜜桃女| 69av在线视频| 亚洲欧美日韩久久久久久| 92国产精品久久久久首页| 亚洲欧美国产精品久久久久久久| 亚洲一区国产精品| 日韩av免费网站| 欧美精品一区二区三区国产精品| 欧美裸身视频免费观看| 欧美激情奇米色| 亚洲精品网站在线播放gif| 欧美成人剧情片在线观看| 国产精品91视频| 一区二区欧美日韩视频| 川上优av一区二区线观看| 色视频www在线播放国产成人| 亚洲国产精品专区久久| 91亚洲精品在线观看| 欧美电影免费看| 91在线无精精品一区二区| 日本成人在线视频网址| 国产在线不卡精品| 欧美日韩福利在线观看| 国产精品精品国产| 欧美风情在线观看| 国产美女精彩久久| 麻豆国产va免费精品高清在线| 日韩在线观看免费全| 国产成人精品视频在线观看| 性色av一区二区咪爱| 九九久久精品一区| www.亚洲男人天堂| 国产精品久久久久久久一区探花| 最新的欧美黄色| 欧美大胆在线视频| 国内精品久久久久久| 亚洲国产天堂网精品网站| 国产精品夜色7777狼人| 91国产视频在线播放| 国内揄拍国内精品少妇国语| 久久久噜噜噜久噜久久| 精品国偷自产在线视频| 97碰碰碰免费色视频| 欧美视频在线观看免费网址| 一本色道久久88综合日韩精品| 精品人伦一区二区三区蜜桃网站| 日韩国产高清污视频在线观看| 亚洲国产成人久久综合一区| 性色av一区二区三区| 国产中文字幕亚洲| 亚洲天堂av在线播放| 国模精品视频一区二区三区| 亚洲精品女av网站| 色av中文字幕一区| 国产区精品视频| 亚洲字幕在线观看| 国产精品亚洲一区二区三区| 久久亚洲精品中文字幕冲田杏梨| 欧美日韩国产精品一区二区三区四区| 亚洲精品永久免费精品| 亚洲激情第一页| 久久综合国产精品台湾中文娱乐网| 色先锋久久影院av| 亚洲天堂av女优| 国产成人精品电影久久久| 国产精品九九九| 国产一区在线播放| 亚洲黄色av女优在线观看| 久久精品一区中文字幕| 久99九色视频在线观看| 这里只有视频精品| 91精品国产91久久| 亚洲欧美成人一区二区在线电影| 久热爱精品视频线路一| 欧美一级片在线播放| 狠狠躁夜夜躁人人躁婷婷91| 国产精品久久久久久久久粉嫩av| 日韩精品免费在线播放| 日韩欧美精品网址| 69av成年福利视频| 黑人与娇小精品av专区| 青青草精品毛片| 色偷偷888欧美精品久久久| 国产综合久久久久久| 亚洲欧美在线磁力| 国产精品永久免费视频| 福利视频第一区| 国产日本欧美一区二区三区| 国产精品扒开腿爽爽爽视频| 夜夜嗨av一区二区三区免费区| 日韩欧美在线免费观看| 欧美日韩亚洲激情| 亚洲午夜未删减在线观看| 亚洲自拍偷拍区| 国产精品爽爽爽爽爽爽在线观看| 久久婷婷国产麻豆91天堂| 91国内精品久久| 911国产网站尤物在线观看| 九九久久久久久久久激情| 91免费看国产| 亚洲精品mp4| 日韩国产激情在线| 国产成人综合一区二区三区| 日韩欧美综合在线视频| 欧美亚洲成人网| 久久久久久久999精品视频| 久久精品美女视频网站| 91欧美日韩一区| 91国产中文字幕| 91免费看片网站| 久久精品国产综合| 国产精品一区二区久久精品| 国产精品一香蕉国产线看观看| 欧美激情一级精品国产| 欧美综合第一页| 亚洲人成在线观看| 国产一区二区三区高清在线观看| 日本亚洲欧洲色α| 激情久久av一区av二区av三区| 国产精品一区二区三区久久久| 另类天堂视频在线观看| 亚洲乱码一区二区| 国产精品网站入口| 久久国内精品一国内精品| 91伊人影院在线播放| 日韩av网站大全| 韩剧1988在线观看免费完整版| 欧美在线视频观看免费网站|