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 相关文章推荐
jQuery 使用手册(一)
Sep 23 Javascript
javascript重写alert方法的实例代码
Mar 29 Javascript
用js来获取上传的文件名纯粹是为了美化而用
Oct 23 Javascript
JavaScript DOM进阶方法
Apr 13 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
深入学习AngularJS中数据的双向绑定机制
Mar 04 Javascript
基于Jquery插件实现跨域异步上传文件功能
Apr 26 Javascript
jquery自定义插件——window的实现【示例代码】
May 06 Javascript
JS数字千分位格式化实现方法总结
Dec 16 Javascript
JS通用方法触发点击事件代码实例
Feb 17 Javascript
vue-router 路由传参用法实例分析
Mar 06 Javascript
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
一个可以兼容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 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
php数组合并的二种方法
2014/03/21 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
2020/02/10 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
jQuery学习笔记之Helloworld
2010/12/22 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
vue绑定class的三种方法
2020/12/24 Vue.js
python删除列表中重复记录的方法
2015/04/28 Python
Python素数检测实例分析
2015/06/15 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
python获取服务器响应cookie的实例
2018/12/28 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
python可视化实现KNN算法
2019/10/16 Python
中医药大学市场营销专业自荐信
2013/09/29 职场文书
机械专业应届生求职信
2013/12/12 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
公司授权委托书
2014/10/17 职场文书
2014年内勤工作总结
2014/11/24 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
教师党员个人总结
2015/02/10 职场文书
工地食品安全责任书
2015/05/09 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers