2011-10-06 61 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

相关问题