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 相关文章推荐
[JS]点出统计器
Oct 11 Javascript
Prototype1.5 rc2版指南最后一篇之Position
Jan 10 Javascript
jquery $.ajax相关用法分享
Mar 16 Javascript
HTML,CSS,JavaScript速查表推荐
Dec 02 Javascript
jQuery插件jPaginate实现无刷新分页
May 04 Javascript
js实现人民币大写金额形式转换
Apr 27 Javascript
浅谈jQuery hover(over, out)事件函数
Dec 03 Javascript
js仿iphone秒表功能 计算平均数
Jan 11 Javascript
Vue.js常用指令的使用小结
Jun 23 Javascript
深入理解JavaScript的async/await
Aug 05 Javascript
Vue设置长时间未操作登录自动到期返回登录页
Jan 22 Javascript
在JavaScript中如何使用宏详解
May 06 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 星际争霸
海贼王动画变成“真人”后,凯多神还原,雷利太帅了!
2020/04/09 日漫
一个PHP日历程序
2006/12/06 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
PHP绕过open_basedir限制操作文件的方法
2018/06/10 PHP
js固定DIV高度,超出部分自动添加滚动条的简单方法
2013/07/10 Javascript
javascript字符串替换及字符串分割示例代码
2013/12/12 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
2016/08/15 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
2018/08/27 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
vue路由--网站导航功能详解
2019/03/29 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
Python实现一个简单的验证码程序
2017/11/03 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
2019/01/03 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
美国知名艺术画网站:Art.com
2017/02/09 全球购物
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
中专生职业生涯规划书范文
2013/12/29 职场文书
护士优质服务演讲稿
2014/08/26 职场文书
工作会议通知
2015/04/15 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
如何获取numpy array前N个最大值
2021/05/14 Python
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL