前端实现标签切换跳转
2015-09-02 09:41
239 查看
思路:根据URL的参数构建href属性,并给标签着色。。。
//解析url
function get_url_obj() {
var url = window.location.href;
var _argument = url.split("?")[1];
var items = _argument.split("&");
var arr, result = {};
for (var i = 0; i < items.length; i++) {
arr = items[i].split("=");
result[arr[0]] = arr[1];
}
return result;
}
//加载页面时,根据URL的参数构建href属性,并给标签着色。。。
function add_color() {
var result = get_url_obj();
var parm_type = $(".search a");
parm_type.each(function() {
var $this = $(this);
var data_param = $this.attr("data-param");
var para_arr = data_param.split("=");
var parm_key = para_arr[0];
var param_val = para_arr[1];
//给a标签加路径
for (var key in result) {
if ($this.attr("data-param") && $this.attr("data-param").match("=")) {
if (key == parm_key && result[key] == param_val) {
$this.parent().find("a").removeClass("select_on select_off");
$this.addClass("select_on");
$this.siblings("a").addClass("select_off");
}
} else {
}
}
if(param_val !== null && param_val !== undefined){
result[parm_key] = param_val;
}else{
delete result[parm_key];
}
$this.attr("href", window.location.href.split("?")[0] + _serializable(result));
result = get_url_obj();
function _serializable(obj){
if(obj){
var str = '?';
for(var i in obj){
if(obj.hasOwnProperty){
str += i +'=' + obj[i] + '&';
}
}
return str.slice(0,-1);
}
return null;
}
});
}
//解析url
function get_url_obj() {
var url = window.location.href;
var _argument = url.split("?")[1];
var items = _argument.split("&");
var arr, result = {};
for (var i = 0; i < items.length; i++) {
arr = items[i].split("=");
result[arr[0]] = arr[1];
}
return result;
}
//加载页面时,根据URL的参数构建href属性,并给标签着色。。。
function add_color() {
var result = get_url_obj();
var parm_type = $(".search a");
parm_type.each(function() {
var $this = $(this);
var data_param = $this.attr("data-param");
var para_arr = data_param.split("=");
var parm_key = para_arr[0];
var param_val = para_arr[1];
//给a标签加路径
for (var key in result) {
if ($this.attr("data-param") && $this.attr("data-param").match("=")) {
if (key == parm_key && result[key] == param_val) {
$this.parent().find("a").removeClass("select_on select_off");
$this.addClass("select_on");
$this.siblings("a").addClass("select_off");
}
} else {
}
}
if(param_val !== null && param_val !== undefined){
result[parm_key] = param_val;
}else{
delete result[parm_key];
}
$this.attr("href", window.location.href.split("?")[0] + _serializable(result));
result = get_url_obj();
function _serializable(obj){
if(obj){
var str = '?';
for(var i in obj){
if(obj.hasOwnProperty){
str += i +'=' + obj[i] + '&';
}
}
return str.slice(0,-1);
}
return null;
}
});
}
相关文章推荐
- 常规功能和模块自定义系统(cfcmms)—006Extjs的目录结构和mvvm介绍
- js中的递归函数
- div动态设置样式
- js实现获取当前时间的前几天日期
- Fedora10安装与配置Samba
- js不加alert后面的代码不工作
- jQuery的ajax报错:SyntaxError: missing ] after element list
- jQuery实现固定在网页顶部的菜单效果代码
- “Perfect” Is the Enemy of“Good Enough”
- CSS3 简易照片墙
- HDU 1596 find the safest road
- caffe配置cuDNN
- seajs学习一天后的总结归纳
- 自定义刻度jQuery进度条及插件
- HTML头部
- JQuery操作textarea,input,select,checkbox方法
- 常用CSS备忘
- 如何把JavaScript数组中指定的一个元素移动到第一位
- 用JQuery编写textarea,input,checkbox,select
- [Leetcode]#237 Delete Node in a Linked List