zoukankan      html  css  js  c++  java
  • 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);
    }
  • 相关阅读:
    JS中的函数声明存在的“先使用,后定义”
    JS原型与原型链终极详解
    Angular--页面间切换及传值的四种方法
    Angularjs Controller 间通信机制
    angularjs 中使用 service 在controller 之间 share 对象和数据
    CSS中!important的使用
    angularjs checkbox 框的操作
    纯CSS气泡框实现方法探究
    AngularJS 实现页面滚动到底自动加载数据的功能
    AngularJS的Filter用法详解
  • 原文地址:https://www.cnblogs.com/sooj/p/3368145.html
Copyright © 2011-2022 走看看