rosey先生

娜娜老公很勤快!!!

js 处理url参数,应用导航分类

1、先上图

 

 2、代码

html

<li><a href="javascript:void(0);" data-cid = "{$v['id']}" onclick="choiceFn('cid',{$v['id']})">{$v['name']}</a></li>

<li><a href="javascript:void(0);" data-tid = "{$v['id']}" onclick="choiceFn('tid',{$v['id']})">{$v['name']}</a></li>

js

<script>
function choiceFn(var1, var2){
var url = window.location.href;
console.log(url);
console.log(var1);
console.log(var2);

if(var1 == 'cid'){
if(url.indexOf('cid')==-1){ //等于-1表示这个字符串中没有cid这个字符
if(url.indexOf('tid')==-1){
window.location.href = url + '?cid='+var2;
}else{
window.location.href = url + '&cid='+var2;
}
}else{
console.log('youyou');
url = changeURLArg(url,'cid',var2);
window.location.href = url;

}
}

if(var1 == 'tid'){
if(url.indexOf('tid')==-1){ //等于-1表示这个字符串中没有cid这个字符
if(url.indexOf('cid')==-1){
window.location.href = url + '?tid='+var2;
}else{
window.location.href = url + '&tid='+var2;
}
}else{
console.log('youyou');
url = changeURLArg(url,'tid',var2);
window.location.href = url;

}
}
}

/*
* url 目标url
* arg 需要替换的参数名称
* arg_val 替换后的参数的值
* return url 参数替换后的url
*/
function changeURLArg(url,arg,arg_val){
var pattern=arg+'=([^&]*)';
var replaceText=arg+'='+arg_val;
if(url.match(pattern)){
var tmp='/('+ arg+'=)([^&]*)/gi';
tmp=url.replace(eval(tmp),replaceText);
return tmp;
}else{
if(url.match('[\?]')){
return url+'&'+replaceText;
}else{
return url+'?'+replaceText;
}
}
return url+'\n'+arg+'\n'+arg_val;
}
</script>

posted @ 2018-10-12 14:41  rose_Y  阅读(606)  评论(0编辑  收藏  举报