不确定这是否是最好的方法,但是,如下所示我得到当前页面并将其添加到“load_more”的div中然后我在函数中使用此值为+ 1.但是我现在需要另一个增值到这个“总页数”,我不知道在哪里添加它(另一个div)。我可以将它添加到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>
答案 0 :(得分:1)
不是将DOM属性添加到类load_more
,而是使用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
是什么类似的东西?
var r = {
MESSAGES: [{
CURRENTPAGE: 1,
TOTALPAGES: 4
},{
CURRENTPAGE: 2,
TOTALPAGES: 4
}]
};
函数doSomething
什么都不做;)
function doSomething(CURRENTPAGE, TOTALPAGES) {};
使用r.MESSAGES
方法
jQuery.fn.data
设置值
首先我们定义临时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
$('.load_more').data("CURRENTPAGE", CURRENTPAGE);
$('.load_more').data("TOTALPAGES", TOTALPAGES);
点击.load_more
上的活动
$('.load_more').live("click", function() {
从CURRENTPAGE
方法获取TOTALPAGES
和data
:
var CURRENTPAGE = $(this).data("CURRENTPAGE");
var TOTALPAGES = $(this).data("TOTALPAGES");
警告值:
alert("CURRENTPAGE: " + CURRENTPAGE);
alert("TOTALPAGES: " + TOTALPAGES);
现在将值增加一个:注意变量之前的双+符号。这意味着您在值中添加一个。更深入的解释:http://jsfiddle.net/j3bb5/6/
$(this).data("CURRENTPAGE", ++CURRENTPAGE);
$(this).data("TOTALPAGES", ++TOTALPAGES);
doSomething(CURRENTPAGE, TOTALPAGES);
});