2011-10-06 23 views
0

不知道這是否是最好的方法,但是,如下所示,我正在獲取當前頁面並將其添加到「load_more」的div中,然後在函數中將此值用於+1,但是現在需要另一個值添加到這個「總頁數」,我不知道在哪裏添加它(另一個div)。我可以將它添加到div(點擊同一個),然後將結果剪切掉?在加載更多的點擊功能?將2的值添加到div然後分割?

感謝

得到值

$('.load_more').live("click", function(){ //When user clicks 

      var currentPage = parseInt($(this).attr('id'), 10); 
      ++currentPage; 

      alert(currentPage); 

      dosomething(currentPage); 
     }); 

設定值

var currentPage = ""; 
var totalPages = ";" 

$.each(r.MESSAGES, function(key, value){ 

    currentPage += value.CURRENTPAGE; 
    totalPages += value.TOTALPAGES;       

}) 
jQuery('.load_more').attr("id", currentPage); 

HTML

<div id="load-more"> 
    <a class="load_more" id="123" href="#"> 
     Load More 
    </a> 
</div> 

回答

1

不是添加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方法

首先我們定義臨時CURRENTPAGETOTALPAGES變量)

function doSomething(CURRENTPAGE, TOTALPAGES) {}; 

設定值從r.MESSAGES

var CURRENTPAGE = 0, TOTALPAGES = 0; 

循環扔r.MESSAGES和更新CURRENTPAGETOTALPAGES

$.each(r.MESSAGES, function(key, value) { 
    CURRENTPAGE += value.CURRENTPAGE; 
    TOTALPAGES += value.TOTALPAGES; 
}); 

它們綁定到選擇.load_more

$('.load_more').data("CURRENTPAGE", CURRENTPAGE); 
$('.load_more').data("TOTALPAGES", TOTALPAGES); 

.load_more

$('.load_more').live("click", function() { 

獲取CURRENTPAGETOTALPAGESdata方法Click事件:

var CURRENTPAGE = $(this).data("CURRENTPAGE"); 
    var TOTALPAGES = $(this).data("TOTALPAGES"); 

警報值:

alert("CURRENTPAGE: " + CURRENTPAGE); 
    alert("TOTALPAGES: " + TOTALPAGES); 

,現在由一個增加值:注意我們的變量之前的雙+號。這意味着你爲該值添加一個。 Se稍深入一點說明:http://jsfiddle.net/j3bb5/6/

$(this).data("CURRENTPAGE", ++CURRENTPAGE); 
    $(this).data("TOTALPAGES", ++TOTALPAGES); 

    doSomething(CURRENTPAGE, TOTALPAGES); 
}); 
+0

這太神奇了!非常感謝!不知道使用jQuery數據存儲,很酷! – Niklas

相關問題