ホームページ  >  記事  >  ウェブフロントエンド  >  JSはモバイル端末上で無制限のロードとページング機能を実現します

JSはモバイル端末上で無制限のロードとページング機能を実現します

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-19 13:48:572696ブラウズ

今回は、モバイル端末で無限ロードとページング機能を実現するための JS について説明します。 モバイル端末で無限ロードとページング機能を実現するための JS の 注意事項 を以下に具体的なケースとして取り上げます。一見。

原則:

スクロールバーが一番下に達したら、次のページのコンテンツを実行します。 条件を判断するには、次の 3 つの概念を理解する必要があります:

1.scrollHeight 実際のコンテンツの高さ

2.clientHeight ウィンドウの高さ、つまりブラウザーで表示されるコンテンツの高さ
3 .scrollTop ウィンドウの非表示部分、つまりスクロール バーのスクロール距離

アイデア:

1. ローディング ボックスの位置に固定を使用します

2. $(window).scroll(); を使用します。ロードするかどうかをトリガーするメソッド

3. 実際のコンテンツの高さ - ウィンドウの高さ - 上記の非表示の部分

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

この記事の事例を読んだ後は、メソッドをマスターしたと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事にご注目ください。

推奨読書:

Angular2開発コンポーネント手順の詳細な説明


簡単な四則演算を実装するJS


以上がJSはモバイル端末上で無制限のロードとページング機能を実現しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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