• 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中?开始到#之间的内容(包含?但不包含#)。

    如果是设置指定url的param值,可以用下面的函数:

    // 设置指定url中param的值,返回处理后的url
    function set_url_param(url,param,value){
            if(url.indexOf('?') != -1){  
                    var p = new RegExp("(\?|&"+param+")=[^&]*");
                    if(p.test(url)){
                            url = url.replace(p,"$1="+value);
                    }else{
                            url = url+'&'+param+'='+value;
                    }
            }else{
                    url = url+'?'+param+'='+value;
            }
            return url;
    }       

    再上一个翻页代码,其中用有到了上面两个函数

    // 上一页
    function page_pre(current_page,page_total){
        if(parseInt(current_page) <= 1 || parseInt(current_page) > parseInt(page_total)){
            return false;
        }
        var pre_page = parseInt(current_page) - 1;
        set_param('page',pre_page);
    }
    
    // 下一页
    function page_next(current_page,page_total){
        if(parseInt(current_page) < 1 || parseInt(current_page) >= parseInt(page_total)){
            return false;
        }
        var next_page = parseInt(current_page) + 1;
        set_param('page',next_page);
    }
  • 相关阅读:
    PostCSS: 跨浏览器兼容性
    js延迟执行函数
    angularjs怎么做动jq中toggle (ng-toggle in AngularJS )
    elasticsearch权威指南
    docker 运行 elasticsearch + kibana + head 集群
    RabbitMQ 的基本介绍
    docker 安装rabbitMQ
    Docker WARNING: IPv4 forwarding is disabled. Networking will not work.
    nginx 的 负载均衡
    Nginx 的 docker 部署
  • 原文地址:https://www.cnblogs.com/sooj/p/3368145.html
Copyright © 2020-2023  润新知