ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptをベースにしたモバイル端末での無制限のロードとページネーションのためのサンプルコード共有

JavaScriptをベースにしたモバイル端末での無制限のロードとページネーションのためのサンプルコード共有

黄舟
黄舟オリジナル
2017-03-27 14:12:092610ブラウズ

この記事は主にJavaScriptに基づいたモバイル端末での無制限のロードとページネーションの実装について詳しく紹介しています。興味のある友人はそれを参照してください

。 jsを使用したモバイル端末への無制限ロードの実装。ページングの具体的なコードは次のとおりです

原理:スクロールバーが一番下に達すると、次のページのコンテンツが実行されます。

条件を判断するには、次の 3 つの概念を理解する必要があります:
1.scrollHeight 実際のコンテンツの高さ
2.clientHeight ウィンドウの高さ、つまりブラウザーで表示されるコンテンツの高さ
3 .scrollTop ウィンドウの非表示部分、つまりスクロール バーのスクロール距離

アイデア:

1. ローディング ボックスの位置に固定を使用します
2. $(window).scroll() を使用します; ロードするかどうかをトリガーするメソッド
3. 実際のコンテンツの高さ (ウィンドウの高さ) を使用します。上記の非表示の部分

コードサンプル

var page=1; //当前页的页码
      var flagNoData = false; //false
    var allpage; //总页码,会从后台获取
    function showAjax(page){
      $.ajax({
        url:"",
        type:"",
        data:"",
        success:function(data){
          //要执行的内容
          showContent();
            if(page>=data.allpage){ //当前页码大于等于总页码
            flagNoData = true;
            };
          page+=1;  //页数加1
        }
      })
    }
    function scrollFn(){
      //真实内容的高度
      var pageHeight = Math.max(document.body.scrollHeight,document.body.offsetHeight);
      //视窗的高度
      var viewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;
      //隐藏的高度
      var scrollHeight = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
        if(falgNoData){ //数据全部加载完了
         return;
        }else if(pageHeight - viewportHeight - scrollHeight < 10){  //如果满足触发条件,执行
        showAjax(page);
      }
    }
    $(window).bind("scroll",scrollFn);  //绑定滚动事件

以上がJavaScriptをベースにしたモバイル端末での無制限のロードとページネーションのためのサンプルコード共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。