スクロールダウンした後、リストビューの下部にリストを追加する方法を探しています。例えば、私は最初に20のアイテムの戻り値を持っています。私はページネーションを使用して、クエリから戻ってきた数だけ戻ってきましたが、スクロールの最後に、15-20に戻って自動的にこのリストに追加したり、「もっと見る」というボタンがあります。私はjQuery Mobileの新機能で、誰かがこのようなことを実装しているのかどうか疑問に思っています。これはPhonegapでも使用されています。もしそうなら、正しい方向に私を向けることができますか?事前に感謝します!jQuery Mobileのリストにリストを動的に追加する方法をお探しですか?
答えて
リストアイテムを自動的に読み込むのではなく、ユーザーがタップしてもっと読み込めるようにすることをおすすめします(それは私の提案です)。ここで
//setup an interval so we can throttle the `scroll` event handler since there will be tons of `scroll` events fired
var timer = setInterval(function() {
scrollOK = true;
}, 100),//run this every tenth of a second
scrollOK = true;//setup flag to check if it's OK to run the event handler
$(window).bind('scroll', function() {
//check if it's OK to run code
if (scrollOK) {
//set flag so the interval has to reset it to run this event handler again
scrollOK = false;
//check if the user has scrolled within 100px of the bottom of the page
if ($(this).scrollTop() + $(this).height() >= ($(document).height() - 100)) {
//now load more list-items because the user is within 100px of the bottom of the page
}
}
});
はデモです:http://jsfiddle.net/knuTW/
更新
それはちょうどそれがタップだとき、ユーザは、その後、タップすることができますボタンをロードするために少し簡単だし、負荷より多くの行と再APPENDリストの最後にload-more
ボタン:http://jsfiddle.net/knuTW/2/
var $loadMore = $('ul').children('.load-more');
$loadMore.bind('click', function() {
var out = [];
for (var i = 0; i < 10; i++) {
out.push('<li>' + (count++) + '</li>');
}
$('ul').append(out.join('')).append($loadMore).listview('refresh');
});
はデモです
これは助けるかもしれない例です。
http://jsfiddle.net/dhavaln/nVLZA/
// load test data initially
for (i=0; i < 20; i++) {
$("#list").append($("<li><a href=\"index.html\"><h3>" + i + "</h3><p>z</p></a></li>"));
}
$("#list").listview('refresh');
// load new data when reached at bottom
$('#footer').waypoint(function(a, b) {
$("#list").append($("<li><a href=\"index.html\"><h3>" + i+++"</h3><p>z</p></a></li>"));
$("#list").listview('refresh');
$('#footer').waypoint({
offset: '100%'
});
}, {
offset: '100%'
});
はい、それはまさに私が探していたものです...あなたがその例で持っているものです。私はそれがどのように動作するかをお知らせします:) – tjoenz
あなたはあなたのフィドルのコードを詳しく教えてください。おそらくプラグインのウェブサイトへのリンクですか? – Jasper
waypointはセレクタ要素に達する(スクロールダウンする)たびにイベントを発生させる本当にシンプルなプラグインです。 http://imakewebthings.com/jquery-waypoints/とhttps:// githubをチェックしてください。詳細については、com/imakewebthings/jquery-waypoints – dhaval
を「永遠にスクロールする」ための方法を記載するいくつかの記事やあなたがについて尋ねているように聞こえるものです「無限スクロール」があります。
ユーザーの背後にあるアイデアは、ユーザーが下から所定数の項目までスクロールダウンすると、非同期的に多くのデータをロードすることです。
スクロールバー自体から嘘つきを取り除くという点で、この方法には既知の問題があります。
http://www.infinite-scroll.com/infinite-scroll-jquery-plugin/
http://masonry.desandro.com/demos/infinite-scroll.html
http://designbeep.com/2011/08/12/12-jquery-infinite-scrollingscroll-read-plugins-for-content-navigation/ http://www.jquery4u.com/tutorials/jquery-infinite-scrolling-demos/
Ahh、thanks @jefferyhamby。私はこれらのリンクを読むでしょう。これは非常にうまくいくと思いますが、言及したように、リストの一番下にある「もっと見る」ボタンをクリックしなければならないかもしれません。 – tjoenz
- 1. jQuery Mobile - リストにレコードを追加する
- 2. jQuery Mobile動的にダイアログボックスにhtmlを追加する方法
- 3. jQuery Mobileアプリケーションにnavbarを動的に追加する方法
- 4. JQuery Mobileを使用してリストに項目を追加する
- 5. JQuery Mobileで選択リストを動的に設定する
- 6. リストのリストを1つのリストに追加する方法
- 7. jQuery Mobile - ネストされたリストの3番目のレベルにrel = "external"を動的に追加します
- 8. リストをリストを追加するのではなくリストにダンプする方法
- 9. jQuery Mobile:チェックボックスを動的に追加する
- 10. 新しいリスト項目をリストに追加する方法
- 11. 複数の値をリストに追加する方法+ jQuery
- 12. アンドロイドで動的にリストに値を追加するには?
- 13. リストにループを追加する方法
- 14. リストにjsonを追加する方法
- 15. オブジェクトを動的に作成してリストに追加するJavaFX
- 16. 入力フィールドに推薦リストを動的に追加する
- 17. JqueryのHTMLテーブルの各行に動的リストを追加するには?
- 18. 他のリストにオブジェクトのリストを追加する方法
- 19. jQuery - リストにhtmlを追加する
- 20. Jqueryオートコンプリート - クリックイベントをリストに追加する方法
- 21. jQueryの動的ドロップダウンに静的オプションを追加する方法
- 22. Rのリストのコンポーネントに要素を動的に追加する
- 23. jqueryを使用してリストを追加する方法
- 24. jqueryでdivを動的に追加および削除する
- 25. コントロールのリストにコントロールを動的に追加する
- 26. ユーザーの登録ページに動的にリストを追加する
- 27. インスタンスをリストに追加してからウィンドウのリストボックスに追加する方法
- 28. エントリのリストを別の動的リストに設定する方法
- 29. CloudFormationでリストを追加する方法
- 30. のjQuery Mobileは自動的に追加されます&NBSP
本当にありがとうございましたジャスパー!私はこれに渦を立てます。私はボタンを追加しなければならないと思っていた。 – tjoenz
@urbanrunic私は自分の答えに**アップデート**を追加して、自動ではなくボタンでこれを行うのがどれほど簡単かを示しました。 – Jasper
ありがとうジャスパー!私は、無限のスクロールが仕事したくないという問題を抱えています。それは私が仕事をしなければならない複数のデザインであるかもしれません。しかし、私はボタンでこれを試してみます:) – tjoenz