当前位置:  编程技术>jquery

jquery实例 获取页面url且根据url模拟单击事件

    来源: 互联网  发布时间:2014-09-03

    本文导语:  此jquery实现,实现的功能为: 根据传过来的url参数,来进行相关操作,可以把这个功能写在控件中,实现隐藏或显示某些空间或触发一些事件的功能。 注意,要先引入jquery库文件,这里用到的是jquery-1.2.6.js。 引用: 实现代...

此jquery实现,实现的功能为:
根据传过来的url参数,来进行相关操作,可以把这个功能写在控件中,实现隐藏或显示某些空间或触发一些事件的功能。

注意,要先引入jquery库文件,这里用到的是jquery-1.2.6.js。
引用:

实现代码:

/** 
 * jquery的插件
 * 获取页面url参数
**/  
new function(settings) {  
    // Various Settings  
    var $separator = settings.separator || '&';  
    var $spaces = settings.spaces === false ? false : true;  
    var $suffix = settings.suffix === false ? '' : '[]';  
    var $prefix = settings.prefix === false ? false : true;  
    var $hash = $prefix ? settings.hash === true ? "#" : "?" : "";  
    var $numbers = settings.numbers === false ? false : true;  
    jQuery.query = new function() {  
        var is = function(o, t) {  
            return o != undefined && o !== null && (!!t ? o.constructor == t : true);  
        };  
        var parse = function(path) {  
            var m, rx = //[([^[]*)/]/g, match = /^(/S+?)(/[/S*/])?$/.exec(path), base = match[1], tokens = [];  
            while (m = rx.exec(match[2])) tokens.push(m[1]);  
            return [base, tokens];  
        };  
        var set = function(target, tokens, value) {  
            var o, token = tokens.shift();  
            if (typeof target != 'object') target = null;  
            if (token === "") {  
                if (!target) target = [];  
                if (is(target, Array)) {  
                    target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));  
                } else if (is(target, Object)) {  
                    var i = 0;  
                    while (target[i++] != null);  
                    target[--i] = tokens.length == 0 ? value : set(target[i], tokens.slice(0), value);  
                } else {  
                    target = [];  
                    target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));  
                }  
            } else if (token && token.match(/^/s*[0-9]+/s*$/)) {  
                var index = parseInt(token, 10);  
                if (!target) target = [];  
                target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);  
            } else if (token) {  
                var index = token.replace(/^/s*|/s*$/g, "");  
                if (!target) target = {};  
                if (is(target, Array)) {  
                    var temp = {};  
                    for (var i = 0; i < target.length; ++i) {  
                        temp[i] = target[i];  
                    }  
                    target = temp;  
                }  
                target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);  
            } else {  
                return value;  
            }  
            return target;  
        };  
        var queryObject = function(a) {  
            var self = this;  
            self.keys = {};  
            if (a.queryObject) {  
                jQuery.each(a.get(), function(key, val) {  
                    self.SET(key, val);  
                });  
            } else {  
                jQuery.each(arguments, function() {  
                    var q = "" + this;  
                    q = q.replace(/^[?#]/, ''); // remove any leading ? || #  
                    q = q.replace(/[;&]$/, ''); // remove any trailing & || ;  
                    if ($spaces) q = q.replace(/[+]/g, ' '); // replace +'s with spaces  
                    jQuery.each(q.split(/[&;]/), function() {  
                        var key = this.split('=')[0];  
                        var val = this.split('=')[1];  
                        if (!key) return;  
                        if ($numbers) {  
                            if (/^[+-]?[0-9]+/.[0-9]*$/.test(val)) // simple float regex  
                                val = parseFloat(val);  
                            else if (/^[+-]?[0-9]+$/.test(val)) // simple int regex  
                                val = parseInt(val, 10);  
                        }  
                        val = (!val && val !== 0) ? true : val;  
                        if (val !== false && val !== true && typeof val != 'number')  
                            val = decodeURIComponent(val);  
                        self.SET(key, val);  
                    });  
                });  
            }  
            return self;  
        };  
        queryObject.prototype = {  
            queryObject: true,  
            has: function(key, type) {  
                var value = this.get(key);  
                return is(value, type);  
            },  
            GET: function(key) {  
                if (!is(key)) return this.keys;  
                var parsed = parse(key), base = parsed[0], tokens = parsed[1];  
                var target = this.keys[base];  
                while (target != null && tokens.length != 0) {  
                    target = target[tokens.shift()];  
                }  
                return typeof target == 'number' ? target : target || "";  
            },  
            get: function(key) {  
                var target = this.GET(key);  
                if (is(target, Object))  
                    return jQuery.extend(true, {}, target);  
                else if (is(target, Array))  
                    return target.slice(0);  
                return target;  
            },  
            SET: function(key, val) {  
                var value = !is(val) ? null : val;  
                var parsed = parse(key), base = parsed[0], tokens = parsed[1];  
                var target = this.keys[base];  
                this.keys[base] = set(target, tokens.slice(0), value);  
                return this;  
            },  
            set: function(key, val) {  
                return this.copy().SET(key, val);  
            },  
            REMOVE: function(key) {  
                return this.SET(key, null).COMPACT();  
            },  
            remove: function(key) {  
                return this.copy().REMOVE(key);  
            },  
            EMPTY: function() {  
                var self = this;  
                jQuery.each(self.keys, function(key, value) {  
                    delete self.keys[key];  
                });  
                return self;  
            },  
            load: function(url) {  
                var hash = url.replace(/^.*?[#](.+?)(?:/?.+)?$/, "$1");  
                var search = url.replace(/^.*?[?](.+?)(?:#.+)?$/, "$1");  
                return new queryObject(url.length == search.length ? '' : search, url.length == hash.length ? '' : hash);  
            },  
            empty: function() {  
                return this.copy().EMPTY();  
            },  
            copy: function() {  
                return new queryObject(this);  
            },  
            COMPACT: function() {  
                function build(orig) {  
                    var obj = typeof orig == "object" ? is(orig, Array) ? [] : {} : orig;  
                    if (typeof orig == 'object') {  
                        function add(o, key, value) {  
                            if (is(o, Array))  
                                o.push(value);  
                            else  
                                o[key] = value;  
                        }  
                        jQuery.each(orig, function(key, value) {  
                            if (!is(value)) return true;  
                            add(obj, key, build(value));  
                        });  
                    }  
                    return obj;  
                }  
                this.keys = build(this.keys);  
                return this;  
            },  
            compact: function() {  
                return this.copy().COMPACT();  
            },  
            toString: function() {  
                var i = 0, queryString = [], chunks = [], self = this;  
                var addFields = function(arr, key, value) {  
                    if (!is(value) || value === false) return;  
                    var o = [key];  
                    if (value !== true) {  
                        o.push("=");  
                        o.push(encodeURIComponent(value));  
                    }  
                    arr.push(o.join(""));  
                };  
                var build = function(obj, base) {  
                    var newKey = function(key) {  
                        return !base || base == "" ? [key].join("") : [base, "[", key, "]"].join("");  
                    };  
                    jQuery.each(obj, function(key, value) {  
                        if (typeof value == 'object')  
                            build(value, newKey(key));  
                        else  
                            addFields(chunks, newKey(key), value);  
                    });  
                };  
                build(this.keys);  
                if (chunks.length > 0) queryString.push($hash);  
                queryString.push(chunks.join($separator));  
                return queryString.join("");  
            }  
        };  
        return new queryObject(location.search, location.hash);  
    };  
} (jQuery.query || {}); // Pass in jQuery.query as settings object  


$(document).ready(function() {
        if ($.query.get("index") != "") {//获取url参数index
            $("#main_search ul li a").eq($.query.get("index")).click();//根据index模拟标签单击事件
        }
        //alert($("#main_search ul li a").eq(0).html());

    })

    
 
 

您可能感兴趣的文章:

  • jquery代码-如何使用jQuery来检测右键和左键的鼠标单击两种情况
  • jquery禁用右键单击功能屏蔽F5刷新
  • jQuery+ajax实现鼠标单击修改内容的方法
  • jQuery+ajax实现鼠标单击修改内容的思路
  • Jquery与CSS模拟超链接的用户单击事件的代码学习
  • jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
  • jquery 取url参数及在url后添加参数的例子
  • jquery获取url及url参数的方法
  • jQuery URL参数插件 jQuery Querystring
  • jQuery URL Shortener
  • jQuery URL Parser
  • jquery 获取URL请求参数的小例子
  • jquery 获取Url中Get参数
  • jquery 获取URL参数的插件(jQuery.query)
  • Jquery 读取URL参数的方法
  • jquery获得url参数列表的例子
  • 解析:为jquery的ajax传递url的方法与注意事项
  • 通过jquery 获取URL参数并进行转码
  • jQuery获取Url中Get参数的简单示例
  • jquery 当前页面url传递的参数的例子
  • JQuery EasyUI 加载两次url的原因分析及解决方案
  • Jquery遍历修改url请求参数的代码详解
  • jquery遍历与修改url请求参数的方法
  • 如何解决jquery获取URL中参数中文乱码的问题
  • jquery.ajax的url中传递中文乱码问题的解决方法
  • 分享一个获取url参数jquery插件
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jquery使用jquery.zclip插件复制对象的实例教程
  • JQuery验证特殊字符实例
  • jquery检验实例-改变错误提示信息的位置
  • textarea显示成label的样式 jquery实例
  • jQuery实现回车键(Enter)切换文本框焦点的代码实例
  • jquery修改属性值实例代码(设置属性值)
  • Jquery each方法跳出循环,并获取返回值(实例讲解)
  • jquery等宽输出文字插件的实例代码
  • jquery 回车事件的实例分享
  • jquery 获取dom固定元素 添加样式的简单实例
  • jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框) iis7站长之家
  • jquery获得表单所有数据的实例分享
  • jQuery回车键事件实例代码
  • Jquery 键盘按键监听与滑动效果的实例
  • jquery实现弹出div,始终显示在屏幕正中间的简单实例
  • jquery导航固定效果实例
  • jquery 延迟执行的实例分享
  • JQuery validate日期比较实例
  • Jquery如何获取新浪天气预报?实例代码
  • jquery 网页自动播放声音实例
  • 通过javascript库JQuery实现页面跳转功能代码
  • jQuery鼠标动画插件 jquery-ahover
  • jQuery概述,代码举例及最新版下载
  • jQuery向导插件 Jquery Wizard Plugin
  • Jquery操作html复选框checkbox:全选,全不选和反选
  • jQuery圆角插件 jQuery Corners
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • jQuery相册插件 jQuery.popeye
  • jQuery UI组件 jQuery UI
  • jQuery右键菜单插件 jQuery ContextMenu
  • jQuery分页插件 Pagination jQuery Plugin


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3