zoukankan      html  css  js  c++  java
  • 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+' '+arg+' '+arg_val;
    }
    </script>

  • 相关阅读:
    element-ui获取table行数据
    去掉输入框的边框以及在显示获取焦点时的边框+jq日期选择器
    需要ui的小伙伴看过来(这篇博客只有一个链接希望对大家有用)
    vue获取当前对象
    FlashFXP用到的功能
    VS Code做项目的笔记
    单点登陆
    idea中自动生成实体类
    VSCode安装
    数组排序
  • 原文地址:https://www.cnblogs.com/roseY/p/9778049.html
Copyright © 2011-2022 走看看