代わりのDOMを追加し、あなたのクラスに属性値を設定した値を取得しますは、jQueryデータストレージを使用したアイデアです。 http://api.jquery.com/data/
使用することは非常にシンプル:http://jsfiddle.net/j3bb5/
$('.load_more').data("current_page", 1); // Setting variable current_page;
alert($('.load_more').data("current_page")); // Getting variable current_page, alerts "1"
そして、あなたは同様にオブジェクトを格納することができますhttp://jsfiddle.net/j3bb5/1/
$('.load_more').data("current_page", { // Setting variable current_page;
id: 1,
name: "My page 1"
}); // Setting variable current_page;
alert($('.load_more').data("current_page").id); // Getting variable current_page, alerts "1"
alert($('.load_more').data("current_page").name); // Getting variable current_page, alerts "My page 1"
そして今、あなたの例には:http://jsfiddle.net/j3bb5/4/
は何を知ってはいけません変数r
はこのようなものですか?
機能doSomething
は何もしません。)jQuery.fn.data
方法
ファーストを使用してr.MESSAGES
から値を設定する
function doSomething(CURRENTPAGE, TOTALPAGES) {};
は我々が一時的CURRENTPAGE
とTOTALPAGES
変数
var CURRENTPAGE = 0, TOTALPAGES = 0;
を定義します
ループはr.MESSAGES
を投げるとCURRENTPAGE
とTOTALPAGES
$.each(r.MESSAGES, function(key, value) {
CURRENTPAGE += value.CURRENTPAGE;
TOTALPAGES += value.TOTALPAGES;
});
を更新する.load_more
data
方法から
CURRENTPAGE
と
TOTALPAGES
を取得
$('.load_more').live("click", function() {
上のセレクタ.load_more
$('.load_more').data("CURRENTPAGE", CURRENTPAGE);
$('.load_more').data("TOTALPAGES", TOTALPAGES);
Clickイベントにそれらをバインド:
var CURRENTPAGE = $(this).data("CURRENTPAGE");
var TOTALPAGES = $(this).data("TOTALPAGES");
値をアラート:私たちの変数の前に二重の+記号に注意してください。
alert("CURRENTPAGE: " + CURRENTPAGE);
alert("TOTALPAGES: " + TOTALPAGES);
そして今は1で値が増加します。これは値に1を加えることを意味します。少し詳しい説明:http://jsfiddle.net/j3bb5/6/
$(this).data("CURRENTPAGE", ++CURRENTPAGE);
$(this).data("TOTALPAGES", ++TOTALPAGES);
doSomething(CURRENTPAGE, TOTALPAGES);
});
これは素晴らしいです!本当に助けてくれてありがとう! jQueryのデータストレージを使用することについては知りませんでした。 – Niklas