我正在尝试添加分页。 我用
$(document).ready(function() {
var pageNum = 1;
$(".paginationing").click(function(){
pageNum = $(this).attr("id");
});
setInterval("ajaxd("+pageNum+")",5000);
});
function ajaxd(pageNum) {
var thisuser = $("#thisusern").text();
$.ajax({
type: "GET",
url: "newstitle.php",
data: "user="+thisuser+"&page="+pageNum,
success: function(msg){
$("#edix").html(msg);
}
});
}
发送页码。但是它只发送页码1,即使我点击了页码。 错误在哪里?如何使用setInterval实现AJAX分页,每隔5秒调用一次页面?
答案 0 :(得分:2)
我不确定为什么使用setInterval进行分页而不是在click事件处理程序中调用ajaxd函数。 我会这样做:
$(document).ready(function() {
var pageNum = 1;
$(".paginationing").click(function() {
pageNum = $(this).attr("id");
ajaxd(pageNum);
});
});
function ajaxd(pgNo) {
var thisuser = $("#thisusern").text();
$.ajax({
type: "GET",
url: "newstitle.php",
data: "user=" + thisuser + "&page=" + pgNo,
success: function(msg) {
$("#edix").html(msg);
}
});
}
如果您仍想使用setInterval,请尝试:
var pageNum = 1;
$(document).ready(function() {
$(".paginationing").click(function() {
pageNum = $(this).attr("id");
});
setInterval(ajaxd, 5000);
});
function ajaxd() {
var pgNo = pageNum;
var thisuser = $("#thisusern").text();
$.ajax({
type: "GET",
url: "newstitle.php",
data: "user=" + thisuser + "&page=" + pgNo,
success: function(msg) {
$("#edix").html(msg);
}
});
}
<强> P.S:强> 另请注意,HTML元素的有效ID不应以数字开头,但我认为您依赖于该数字。我宁愿建议您生成类似“pg-n”的ID,其中n是数字,在点击事件中,您可以使用
获取页码pageNum = $(this).attr("id").replace(/[^0-9]/g, "");