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 相关文章推荐
javascript编程起步(第五课)
Feb 27 Javascript
W3C Group的JavaScript1.8 新特性介绍
May 19 Javascript
jquery提升性能最佳实践小结
Dec 06 Javascript
js动态为代码着色显示行号
May 29 Javascript
jQuery实现跨域iframe接口方法调用
Mar 14 Javascript
3个可以改善用户体验的AngularJS指令介绍
Jun 18 Javascript
js倒计时抢购实例
Dec 20 Javascript
利用angularjs1.4制作的简易滑动门效果
Feb 28 Javascript
underscore之Collections_动力节点Java学院整理
Jul 10 Javascript
Vue 拦截器对token过期处理方法
Jan 23 Javascript
解决vue页面刷新或者后退参数丢失的问题
Mar 13 Javascript
Nuxt配合Node在实际生产中的应用详解
Aug 07 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
使用php显示搜索引擎来的关键词
2014/02/13 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
jQuery textarea的长度进行验证
2009/05/06 Javascript
js页面跳转常用的几种方式
2010/11/25 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
js解析与序列化json数据(二)序列化探讨
2013/02/01 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
[47:48]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第三局
2016/02/28 DOTA
解决pycharm运行时interpreter为空的问题
2018/10/29 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
2020/01/19 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
详解python变量与数据类型
2020/08/25 Python
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
美国背景检查、公共记录和人物搜索网站:BeenVerified
2018/02/25 全球购物
德国家具、照明、家居用品网上商店:Wayfair.de
2020/02/13 全球购物
面试求职的个人自我评价
2013/11/16 职场文书
怎样写好自荐信和推荐信
2013/12/26 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
转学证明范本
2015/06/19 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书