现在博客系统的评论遇到一个问题,用户点击“最后一页”链接之后就自动调取最后一页的资料来显示。
我是将当前页用一个全局变量存储。同时在“最后一页”链接里单击方法调用一个函数自动去修改页数为最后一页,然后再调用载入评论的方法。
可是我发现点击“最后一页”第一次的时候系统没反应,再点击一次就抓去最后一页的资料了!
要说全局变量没改,应该是改了,就仿佛改了页数而载入评论的方法失效了一样。
代码如下:
var page = 1; //初始化页数为第一页 var str = ""; $(document).ready(function() { lostguest(); //载入评论的方法 $("a#first").click(function() { page = 1; lostguest();
}); $("a#last").click(function() { if (page > 1) { --page; lostguest(); } else { page = 1; alert("已经是第一页了!") } }) $("a#next").click(function() { if (page < pagecount) { page; lostguest(); } else { alert("已经是最后一页了!"); }
}) $("a#all").click(function() { getpagecount();
lostguest();
});
}) var getpagecount = function() { var type = "GetPageCount"; $.ajax({ url: 'GetCount.ashx?type=' type, type: "GET", dataType: 'text', beforeSend: function() {
}, error: function() { alert('获取系统日志记录数失败'); }, success: function(count) { pages = Number(count); } }) } var lostguest = function() { $.ajax({ url: 'SqlHelper.ashx?page=' page, type: "GET", dataType: 'json', beforeSend: function() { $("#loading").show(); }, error: function() { alert('获取系统日志失败'); }, success: function(msg) { $("#guest").empty(); if (msg != "0") { var data = msg.log; str = ""; $.each(data, function(i, n) { str = "<p id='xuhao'>序号:" n.序号 "发表日期" n.日期 "用户名:" n.操作员 "</p>"; str = "<p id='content'>内容:" n.事件 "</p>"; }); $("#guest").append(str); $("#loading").hide(); } else { alert("0"); }
} }) }
也不知道是怎么回事?各位高手能否解释一下??
PS:后来找了一个变通的方法,实现了这个效果。代码如下:
var page = 1; var str = ""; var pagecount; //存储总页数 $(document).ready(function() { getpagecount(); //获取总页数的方法 lostguest(); $("a#first").click(function() { page = 1; lostguest(); }); $("a#last").click(function() { if (page > 1) { --page; lostguest(); } else { page = 1; alert("已经是第一页了!") } }) $("a#next").click(function() { if (page < pagecount) { page; lostguest(); } else { alert("已经是最后一页了!"); }
}) $("a#all").click(function() { page = pagecount; //更新当前页数为总页数 lostguest();
});
}) var getpagecount = function() { var type = "GetPageCount"; $.ajax({ url: 'GetCount.ashx?type=' type, type: "GET", dataType: 'text', beforeSend: function() {
}, error: function() { alert('获取系统日志记录数失败'); }, success: function(count) { pagecount = Number(count); //读取总页数 } }) } var lostguest = function() { $.ajax({ url: 'SqlHelper.ashx?page=' page, type: "GET", dataType: 'json', beforeSend: function() { $("#loading").show(); }, error: function() { alert('获取系统日志失败'); }, success: function(msg) { $("#guest").empty(); if (msg != "0") { var data = msg.log; str = ""; $.each(data, function(i, n) { str = "<p id='xuhao'>序号:" n.序号 "发表日期" n.日期 "用户名:" n.操作员 "</p>"; str = "<p id='content'>内容:" n.事件 "</p>"; }); $("#guest").append(str); $("#loading").hide(); } else { alert("0"); }
} }) }
第一个代码的问题各位高手能否解释一下??谢谢!