ホームページ ウェブフロントエンド jsチュートリアル Iscroll のプルダウンおよびプルアップ更新チュートリアルの実装

Iscroll のプルダウンおよびプルアップ更新チュートリアルの実装

Jun 27, 2017 pm 04:02 PM
落ちる リフレッシュする

在原生APP的开发中,有一个常见的功能,就是下拉刷新的功能,这个想必大家都是知道的,但是原生APP的开发,有一个很大的问题就是,你每次更新一些功能,就要用户重新下载一次版本,尤其是在iOS系统中,新版本还需要经过审核才能通过,这就使得版本的更新受到很大的限制,而如果我们改用网页来展示,那么只要改变服务器中网页的内容,那么就等于修改了APP的内容展示,有更灵活的满足更新版本。

概述

但是有一点就是,如何让web实现的页面,看起来更像是原生的APP呢,首先要想办法解决的就是下拉刷新的功能,对于这个功能,我并没有在网络上找到很好的解决方法,并且,我个人对手机端的开发,经验还是有些欠缺,这里就不罗列使用js实现web页下拉刷新的功能了。

这里,我基于iscroll5的基础上,进行了少量的改动源代码,进而实现了下拉属性的功能,所以分享在这里,仅供参考。

关于iscroll插件

iscroll插件(官网地址)当前最新的版本是version 5版本,相对于版本4,我个人觉得,版本5变得更具有灵活性,虽然移除了一些特定的事件,特定的对外接口,但是对于使用该插件的程序员们,这个插件变得更具有操控性,这是我比较喜欢的一种插件类型,但同时,也发现了一些问题,事件中的touchend事件,不存在了(确切的说,不能说是不存在),只是被拦截了,所以一些基本的事件,都被进行了拦截,而导致无法监听到touchend事件,只能检测到scrollEnd事件,scrollEnd事件,是在页面滚动停止时,才会被触发的,所以~~

所以,根据版本5,无法检测到,是不是下拉了一段距离之后,松开时的动作了,对此,我也检查了源代码,也没有发现这个功能的实现方法,不得已,只能对源代码进行了少量的修改,所以就有了本篇文章。

修改后插件的使用

基本上,该方法并没有进行多少的修改,只是添加了两个事件的监听类型,一个叫做“slideDown”,表示下拉被触发,另一个叫做“slideUp”,表示上拉被触发。

其他,实例化中,各属性都没有进行更改,所以,关于iscroll的使用,直接参考官网的说明:iscroll官网。

这里,我只对新添加的事件,添加一个demo测试,这个demo是一个很简单的demo,也只是用来说明新添加事件的用法的,如果需要用到下拉刷新或者上拉刷新的朋友,可以根据本demo自行修改。





下拉刷新



  • Pretty row 1

  • Pretty row 2

  • Pretty row 3

  • Pretty row 4

  • Pretty row 5

  • ...
  • Pretty row 46

  • Pretty row 47

  • Pretty row 48

  • Pretty row 49

  • Pretty row 50





上拉刷新


ここでは CSS 部分については詳しく説明しません。興味がある場合は、Web ページを直接保存して、関連するコードを分離してください。iscroll.js と iscroll.css です。その他 Bootstrap と jQuery はどちらも私が怠惰なため追加したフレームワークです。

上記の構造をインスタンス化します:

var myScroll,
upIcon = $("#up-icon"),
downIcon = $("#down-icon");

myScroll = new IScroll('#wrapper', {プローブタイプ: 3, マウスホイール: true }); // このプラグインがスクロール イベントを監視できることを示す probeType 属性 myScroll.on("scroll", function(){ // スクロール イベントを使用してプルアップを制御できるそして、プルダウン後に表示されるモジュールでは、
//スタイルとコンテンツ表示の変更
var y = this.y,
maxY = this.maxScrollY - y,
downHasClass = downIcon.hasClass("reverse_icon"),
upHasClass = upIcon.hasClass("reverse_icon");
if(y >= 40){
!downHasClass && downIcon.addClass("reverse_icon");
}else if(y < 40 && y >) ; 0){
downHasClass && downIcon.removeClass("reverse_icon"); return "";
}
if(maxY >= 40){
!upHasClass && upIcon.addClass("reverse_icon"); }else if(maxY < 40 && maxY >=0){
upHasClass && upIcon.removeClass("reverse_icon"); return "";
}
});

myScroll.on("slideDown",function( ){ //プルダウンによって境界を超えた場合、指が画面から離れるとイベントがトリガーされます
if(this.y > 40){ //コンテンツとコンテンツ間の距離を取得しますscreen
//このセクションではスタイルを変更し、ajax またはその他の操作のみを使用できます
//現時点では、この機能を説明するためにアラート関数のみが追加されています
//また、アラートは後続のアニメーションをブロックするためです。 Effects, ,
//以前に追加したスタイルを削除するために次のコード行を追加しました
alert("slideDown");
upIcon.removeClass("reverse_icon");
}
});

myScroll.on(" slideUp ",function(){ if(this.maxScrollY - this.y > 40){ //slideDown と同様に、maxScrollY はドキュメント領域の最大の高さを表します
alert("slideUp");
upIcon.removeClass("reverse_icon ")
}
});

同時に、ajax を使用して新しい要素を追加または削除する場合は、myScroll.refresh() を再実行する必要があり、maxScrollY 領域が次のように再計算されることに注意してください。エリアカバレッジを確保してください。実際にこれらのものを使用すると、間違いなくこれらの問題に遭遇するでしょう。したがって、ここでは話しすぎています~~~

OK、この記事を書くときのコードは次のようになります。 Android デバイスを持っていないので、IOS8 デバイスのみをテストしました。問題がある場合は、ご指摘ください。ありがとうございます~~

以上がIscroll のプルダウンおよびプルアップ更新チュートリアルの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iPhone で Web ページを更新する 6 つの方法 iPhone で Web ページを更新する 6 つの方法 Feb 05, 2024 pm 02:00 PM

iPhone で Web を閲覧すると、ブラウザ アプリが開いている限り、読み込まれたコンテンツが一時的に保存されます。ただし、Web サイトはコンテンツを定期的に更新するため、古いデータを消去して最新の公開コンテンツを確認するには、ページを更新することが効果的な方法です。こうすることで、常に最新の情報と経験を得ることができます。 iPhone でページを更新したい場合は、次の投稿ですべての方法を説明します。 SafariでWebページを更新する方法【4つの方法】 iPhoneのSafariアプリで閲覧中のページを更新する方法はいくつかあります。方法 1: [更新] ボタンを使用する Safari で開いているページを更新する最も簡単な方法は、ブラウザのタブ バーにある [更新] オプションを使用することです。サファなら

Windows 11 で F5 更新キーが機能しない Windows 11 で F5 更新キーが機能しない Mar 14, 2024 pm 01:01 PM

Windows 11/10 PC では F5 キーが正しく機能しませんか? F5 キーは通常、デスクトップまたはエクスプローラーを更新したり、Web ページをリロードしたりするために使用されます。ただし、読者の中には、F5 キーがコンピュータを更新していて、正しく動作しないと報告している人もいます。 Windows 11 で F5 更新を有効にする方法は? Windows PC を更新するには、F5 キーを押すだけです。一部のラップトップまたはデスクトップでは、更新操作を完了するために Fn+F5 キーの組み合わせを押す必要がある場合があります。 F5 キーを押して更新しても機能しないのはなぜですか? F5 キーを押してもコンピューターを更新できない場合、または Windows 11/10 で問題が発生している場合は、ファンクション キーがロックされていることが原因である可能性があります。その他の考えられる原因には、キーボードまたは F5 キーが含まれます

Web ページをすばやく更新するにはどうすればよいですか? Web ページをすばやく更新するにはどうすればよいですか? Feb 18, 2024 pm 01:14 PM

ネットワークを日常的に使用する中でページの更新は頻繁に行われますが、Web ページにアクセスすると、Web ページが読み込まれない、表示が異常になるなどの問題が発生することがあります。現時点では、通常、問題を解決するためにページを更新することを選択しますが、ページを素早く更新するにはどうすればよいでしょうか?ページ更新のショートカット キーについて説明します。ページ更新ショートカットキーは、キーボード操作で現在のWebページを素早く更新する方法です。オペレーティング システムやブラウザが異なると、ページを更新するためのショートカット キーが異なる場合があります。以下では一般的な W を使用します。

反応ページが更新された後に値が消えた場合はどうすればよいですか? 反応ページが更新された後に値が消えた場合はどうすればよいですか? Dec 29, 2022 am 11:11 AM

反応ページが更新された後に値が消える問題の解決策: 1. ページを更新し、状態内のデータがクリアされるかどうかを確認します。 2. 「const name = location.query.name; const id = location.query」を使用します。 .id;」メソッド ジャンプリンクにパラメータを追加することで、データを失うことなくパラメータを渡してページを更新できます。

キーボードの更新ショートカットキーとは何ですか? キーボードの更新ショートカットキーとは何ですか? Feb 25, 2024 pm 10:38 PM

キーボード更新ショートカット キーとは何ですか? コンピューター技術の発展に伴い、キーボードは私たちの日常の仕事や生活に欠かせないデバイスになりました。キーボードの機能は文字を入力するだけでなく、コンピュータのさまざまな機能を操作したり、作業効率を向上させるためによく使用されます。キーボード ショートカットを使用すると、さまざまな操作をより迅速かつ便利に完了できます。コンピューターを日常的に使用していると、ページを更新する必要がある状況によく遭遇します。 Webページを開いたり、ソフトウェアを実行したりすると、ページがフリーズしたり、読み込めなくなったりすることがありますが、その場合はページを更新してください。

ルーティングを使用して Vue プロジェクトでページの更新とキャッシュ制御を実装するにはどうすればよいですか? ルーティングを使用して Vue プロジェクトでページの更新とキャッシュ制御を実装するにはどうすればよいですか? Jul 22, 2023 am 11:13 AM

ルーティングを使用して Vue プロジェクトでページの更新とキャッシュ制御を実装するにはどうすればよいですか? Vue プロジェクト開発では、ルーティングを使用してページの更新とキャッシュ制御を実装することが非常に一般的な要件です。この記事では、ルーティングを使用して Vue プロジェクトでページ更新とキャッシュ制御を実装する方法を紹介し、対応するコード例を示します。ルーティング設定 まず、Vue プロジェクトでルーティング設定に vue-router を使用する必要があります。 vue-router は npm を通じてインストールでき、main.js に導入して設定できます。輸入する

win11で右クリックで更新する方法 win11で右クリックで更新する方法 Dec 28, 2023 pm 02:29 PM

更新は、コンピューターを使用するときによく実行される操作です。更新すると、インターフェイス、表示、アイコン、その他のプロパティの設定がすぐに表示されます。しかし、多くの友人は、win11 を使用している場合、右クリック メニューに更新がないことに気づきます。実際、これは、win11 メニューが追加されており、更新する前にメニューを入力する必要があるためです。 win11 での右クリック更新方法 1. win11 システムでは、右クリック メニューが変更され、空白スペースを右クリックしても更新を見つけることができなくなります。 2. 代わりに、右クリック メニューの下部にある "showmoreoptions" を見つける必要があります。 3. "showmoreoptions" を入力すると、[更新] が表示されます。 4. さらに、実際には右クリックを使用して更新する必要はありません。

Win10 デスクトップを起動すると無限に更新される場合はどうすればよいですか? Win10 起動デスクトップの無限更新の解決策 Win10 デスクトップを起動すると無限に更新される場合はどうすればよいですか? Win10 起動デスクトップの無限更新の解決策 Jul 08, 2023 am 09:33 AM

最近、一部のユーザーが Win10 システムを使用しているときに、デスクトップが停止せずに自動的に更新されたり、ビデオを見たり音楽を聴いたりしているときにも更新され、ユーザー エクスペリエンスに大きな影響を与えることが判明しました。コンピューターの電源がオンになり、ワイヤレス ネットワークが更新されるとき? 以下のエディターは、Win10 デスクトップの電源がオンになったときに無限に更新される場合に対処する方法を示します。コンピューターの電源がオンになり、ワイヤレス ネットワークが更新された場合はどうすればよいですか? 1. デスクトップに入ったら、メニューバーのアイコンをマウスでクリックします。 2. 開いたインターフェースで[リソースマネージャー]を選択します。 3. ページに入ったら、[Windows タスク マネージャー] をクリックし、[タスクの終了] を選択します。 4. 続行後、デスクトップに戻り、マウスを右クリックしてメニュー バーを選択します。 5.この時、全員が【幸運】をクリック

See all articles