javascript(jquery)利用函数修改全局变量的代码


Posted in Javascript onNovember 02, 2009

我是将当前页用一个全局变量存储。同时在“最后一页”链接里单击方法调用一个函数自动去修改页数为最后一页,然后再调用载入评论的方法。
可是我发现点击“最后一页”第一次的时候系统没反应,再点击一次就抓去最后一页的资料了!
要说全局变量没改,应该是改了,就仿佛改了页数而载入评论的方法失效了一样。
代码如下:

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"); 
} 
} 
}) 
}

第一个代码的问题各位高手能否解释一下??谢谢!
Javascript 相关文章推荐
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 Javascript
Expandable &quot;Detail&quot; Table Rows
Aug 29 Javascript
jQueryUI的Dialog的简单封装
Jun 07 Javascript
js事件处理程序跨浏览器解决方案
Mar 27 Javascript
jQuery easyui刷新当前tabs的方法
Sep 23 Javascript
javascript 作用于作用域链的详解
Sep 27 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
Oct 20 Javascript
Vue异步组件处理路由组件加载状态的解决方案
Sep 07 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
Feb 27 Javascript
js打开word文档预览操作示例【不是下载】
May 23 Javascript
基于JS实现数字动态变化显示效果附源码
Jul 18 Javascript
基于redis的小程序登录实现方法流程分析
May 25 Javascript
一个可以兼容IE FF的加为首页与加入收藏实现代码
Nov 02 #Javascript
JS OOP包机制,类创建的方法定义
Nov 02 #Javascript
JQuery 网站换肤功能实现代码
Nov 02 #Javascript
Javascript结合css实现网页换肤功能
Nov 02 #Javascript
cnblogs csdn 代码运行框实现代码
Nov 02 #Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
Nov 02 #Javascript
js 函数的执行环境和作用域链的深入解析
Nov 01 #Javascript
You might like
十大催泪虐心动漫,你能坚持看到第几部?
2020/03/04 日漫
建立动态的WML站点(二)
2006/10/09 PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
很可爱的输入框
2008/08/03 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
那些精彩的JavaScript代码片段
2017/01/12 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
package.json文件配置详解
2017/06/15 Javascript
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
Python实现抢购IPhone手机
2018/02/07 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
python实现用户名密码校验
2020/03/18 Python
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
电话销售经理岗位职责
2013/12/07 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
材料员岗位职责范本
2015/04/11 职场文书
山楂树之恋观后感
2015/06/11 职场文书
Springboot/Springcloud项目集成redis进行存取的过程解析
2021/12/04 Redis