部落格系統的評論遇到一個問題,使用者點擊「最後一頁」連結後就會自動調取最後一頁的資料來顯示。
將目前頁用一個全域變數儲存。同時在「最後一頁」連結中點選方法呼叫一個函數自動去修改頁數為最後一頁,然後再呼叫載入評論的方法。
發現點擊「最後一頁」第一次的時候系統沒反應,再點擊一次就抓去最後一頁的資料了!
要說全域變數沒改,應該是改了,就彷彿改了頁數而載入評論的方法失效了一樣。
程式碼如下:
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"); } } }) }
後來找了一個變通的方法,實現了這個效果。程式碼如下:
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"); } } }) }
以上是如何利用javascript或jquery修改全域變數程式碼實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!