js获取或设置当前窗口url参数的小例子
// 获取当前窗口url中param参数的值
function get_param(param){
var query = location.search.substring(1).split('&');
for(var i=0;i<query.length;i++){
var kv = query[i].split('=');
if(kv[0] == param){
return kv[1];
}
}
return null;
}
// 设置当前窗口url中param的值
function set_param(param,value){
var query = location.search.substring(1);
var p = new RegExp("(^|&"+param+")=[^&]*");
if(p.test(query)){
query = query.replace(p,"$1="+value);
location.search = '?'+query;
}else{
if(query == ''){
location.search = '?'+param+'='+value;
}else{
location.search = '?'+query+'&'+param+'='+value;
}
}
}
注意location.search获取到的是url中?开始到#之间的内容(包含?但不包含#)。
在上一个翻页代码,其中用有到了上面两个函数
// 上一页
function page_pre(current_page,page_total){
if(current_page <= 1 || current_page > page_total){
return false;
}
var pre_page = parseInt(current_page) - 1;
set_param('page',pre_page);
}
// 下一页
function page_next(current_page,page_total){
if(current_page < 1 || current_page >= page_total){
return false;
}
var next_page = parseInt(current_page) + 1;
set_param('page',next_page);
}