ホームページ > 記事 > ウェブフロントエンド > マイクロサイト - プルアップ、プルダウンして更新 (データのリクエスト)_html/css_WEB-ITnose
これで、dropload.min.js がデビューしました。早速本題に進みましょう。PC 側とモバイル側のページネーションが異なります。モバイル側で前のページ、次のページをクリックしたり、PC 側と同様に特定のページ番号をクリックした場合、ユーザーは経験は非常に貧弱になります。プルアップ リフレッシュやプルダウン リフレッシュなどの操作は実現したい効果ですが、この効果を実現するにはどうすればよいでしょうか?
pic1.png
2. これはプルアップリフレッシュです
pic2.png
页面源码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>demo</title> <link rel="stylesheet" href="index.css"></head><body> <div class="wrap"> <div class="inner"> <div class="lists"> <a class="item" href="#"> <img src="goods.jpg" alt=""> <h3>1文字描述文字描述</h3> <span class="date">2015-11-27</span> </a> <a class="item" href="#"> <img src="goods.jpg" alt=""> <h3>2文字描述文字描述文字描述文字描述文字描述文字描述文字描述文字描述文字描述文字描述</h3> <span class="date">2015-11-27</span> </a> <a class="item" href="#"> <img src="goods.jpg" alt=""> <h3>3文字描述文字描述文字描述文字描述文字描述</h3> <span class="date">2015-11-27</span> </a> <a class="item" href="#"> <img src="goods.jpg" alt=""> <h3>4文字描述文字描述文字描述文字描述文字描述</h3> <span class="date">2015-11-27</span> </a> <a class="item" href="#"> <img src="goods.jpg" alt=""> <h3>5文字描述文字描述文字描述文字描述文字描述</h3> <span class="date">2015-11-27</span> </a> </div> </div></div><script src="zepto.min.js"></script><script src="dropload.min.js"></script><script src="index.js"></script></body></html>
index.js// droploadvar dropload = $('.inner').dropload({ domUp : { domClass : 'dropload-up', domRefresh : '<div class="dropload-refresh">↓下拉刷新</div>', domUpdate : '<div class="dropload-update">↑释放更新</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加载中...</div>' }, domDown : { domClass : 'dropload-down', domRefresh : '<div class="dropload-refresh">↑上拉加载更多</div>', domUpdate : '<div class="dropload-update">↓释放加载</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加载中...</div>' }, loadUpFn : function(me){ alert("上拉刷新操作"); me.resetload(); }, loadDownFn : function(me){ alert("下拉刷新操作"); me.resetload(); }});loadUpFn とloadDownFn で新しい ajax リクエストを指定し、ajax によって返された結果をページで必要な形式でコンテナーに追加できます。そうは言っても、まだ終わったわけではありません。ページの読み込みアニメーションはどのように実装されるのでしょうか?注意していれば、上記の js で次のコードを見たことがあるかもしれません:
domUp : { domClass : 'dropload-up', domRefresh : '<div class="dropload-refresh">↓下拉刷新</div>', domUpdate : '<div class="dropload-update">↑释放更新</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加载中...</div>' }, domDown : { domClass : 'dropload-down', domRefresh : '<div class="dropload-refresh">↑上拉加载更多</div>', domUpdate : '<div class="dropload-update">↓释放加载</div>', domLoad : '<div class="dropload-load"><span class="loading"></span>加载中...</div>' },ここでは、CSS3 アニメーションを使用して、GIF の動的画像に似た効果を実現しています。ソース コードが添付されています:
.dropload-up,.dropload-down { position: relative; height: 0; overflow: hidden; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0)}.dropload-refresh,.dropload-update,.dropload-load { position: absolute; left: 50%; bottom: 0; width: 100%; height: 50px; line-height: 50px; text-align: center; -webkit-transform: translate(-50%, 0); transform: translate(-50%, 0)}.dropload-down .dropload-refresh,.dropload-down .dropload-update,.dropload-down .dropload-load { top: 0; bottom: auto}.dropload-load .loading { display: inline-block; height: 15px; width: 15px; border-radius: 100%; margin: 6px; border: 2px solid #666; border-bottom-color: transparent; vertical-align: middle; -webkit-animation: rotate .75s linear infinite; animation: rotate .75s linear infinite}@-webkit-keyframes rotate { 0% { -webkit-transform: rotate(0deg) } 50% { -webkit-transform: rotate(180deg) } 100% { -webkit-transform: rotate(360deg) }}@keyframes rotate { 0% { transform: rotate(0deg) } 50% { transform: rotate(180deg) } 100% { transform: rotate(360deg) }}わかりました。この効果を実現する方法はたくさんあります。これは非常に柔軟で、リクエストをロードするときにアニメーション効果を整理することもできます。ぜひ試してみて、あなたのプロジェクトに適用してください~ (追記: リストの CSS ソース コードはここにはありません。プロジェクト全体のソース コードが必要な場合は、テキスト メッセージを送信するか、私のアカウントの WeChat に追加してください。個人ホームページ~)