在开发B/S 项目过程中,根据主界面设计要求,需要做一个类似VS 左边工具栏样式的菜单导航栏,在网上搜索无果后,于是决定自已做一个。

由于前台用JQuery开发, 想到网上很多人用JQuery做插件,开发起来很方便。于是呼,我也照猫画虎地瞎做一个,限本人文采水平一般,只能贴代码共享。

效果图:

代码:

      /*
* toolsTags 0.1
* Copyright (c) 2014 www.xacf.com YeHui 叶辉
* Date: 2014-8-4
* JQuery 插件 支持JQuery 1.3.2 和1.10.2
* 仿VS 左侧工具导航栏样式的菜单工具栏插件。
*/
var toolsTag = {
toolsTags: [
{ title: "导航1", cative: 1 },
{ title: "导航2", cative: 0 },
{ title: "导航3", cative: 0 }
]
};
(function ($) {
var ver = $.fn.jquery;
$.fn.toolsTags = function (options) {
var defaults = {
data: toolsTag
}, options = $.extend(defaults, options),
tags = [],
contents = [],
tagName = "#tag",
contentName = "#toolsContent",
activeToolsIndex = 0; var uld = $('<ul />', {
id: "toolsTags"
}).appendTo("#tools_layout").addClass("t_toolsTags");
if (ver === "1.3.2")
uld.attr("id", "toolsTags"); if (options.data.toolsTags && $.isArray(options.data.toolsTags)) {
$.each(options.data.toolsTags, function (i, val) {
var lid = $('<li />', {
id: "tag" + i,
html: val.title,
tabIndex: i
}).appendTo("#toolsTags"); var divD = $('<div />', {
id: "toolsContent" + i
}).appendTo("#tools_layout").addClass("t_toolsContent"); tags.push(tagName + i);
contents.push(contentName + i); if (ver === "1.3.2") {
lid.attr("id", "tag" + i).html(val.title);
lid.attr("tabIndex", i);
divD.attr("id", "toolsContent" + i);
} if (val.cative === 1) {
$("#tag" + i).addClass("i_active");
$("#toolsContent" + i).addClass("t_contentActive");
}
});
};
$.each(tags, function (i, val) { $(val).click(function (e) {
tags_SetActive();
var index = e.target.tabIndex; $(tags[index]).addClass("i_active");
$(contents[index]).addClass("t_contentActive");
activeToolsIndex = index;
}); $(val).mouseover(function (e) {
$.each(tags, function (i, val) {
$(tags[i]).removeClass("i_active");
});
var index = e.target.tabIndex;
$(tags[index]).addClass("i_active");
});
$(val).mouseout(function (e) {
$.each(tags, function (i, val) {
$(tags[i]).removeClass("i_active");
});
$(tags[activeToolsIndex]).addClass("i_active");
});
}); function tags_SetActive() {
$.each(tags, function (i, val) {
$(tags[i]).removeClass("i_active");
});
$.each(contents, function (i, val) {
$(contents[i]).removeClass("t_contentActive");
});
}
};
})(jQuery);

HTML

  <div id="tools_layout">
</div> <script type="text/javascript"> $().toolsTags();
$("#toolsContent1").html("导航栏二中的菜单项");
</script>

CSS 样式表

   html, body, div, p, h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li, caption, th, td, img, form, fieldset, legend, input, label, button, textarea {
margin: 0;
padding: 0;
} html, body {
font-family: Arial,SimSun;
font-size: 14px;
font: normal 12px/14px SimSun,arial;
} ul {
list-style: none;
} #tools_layout {
width: 260px;
margin: 0 auto;
} .t_toolsTags {
position: absolute;
left: 0;
z-index: 9;
border-right: 2px solid #3BB1A3;
background-color: #3BB1A9;
width: 25px;
height: 100%;
} .t_toolsTags li {
width: 100%;
_min-height: 100px;
height: auto;
padding-top: 10px;
padding-bottom: 10px;
line-height: 120%;
text-align: center;
cursor: pointer;
margin-bottom: 2px;
font-family: SimSun;
font-size: 14px;
} .t_toolsTags li,
.t_toolsTags li.i_active {
margin-left: 0px;
padding-left: 2px;
} .t_toolsTags li {
background-color: #218175;
} .t_toolsTags li.i_active {
background-color: #dcf8fa;
} .t_toolsContent {
left: 0;
margin-left: 27px;
height: 100%;
border-right: 2px solid #00ff21;
width: 180px;
background-color: #dcf8fa;
position: absolute;
display: none;
padding-left: 5px;
} .t_contentActive {
display: block;
} .hrtest {
height: 5px;
width: 100%;
border-top: 1px solid red;
border-left: none;
border-right: none;
border-bottom: none;
}

用Jquery 仿VS 样式的 导航栏插件的更多相关文章

  1. 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)

    利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)   作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...

  2. jquery自定义插件-参数化配置多级菜单导航栏插件

    1 自定义菜单导航栏插件的必要性 看图说话,下面是利用自定义的菜单导航栏插件simpleMenu创建的网站导航示例: 插件默认提供的是如上图的导航栏样式,即一二级菜单为横向分布:三四级菜单为纵向分布. ...

  3. jQuery仿Android锁屏图案应用插件

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. jquery仿天猫商城左侧导航菜单

    之前看到有博友写了一个仿天猫商城左侧导航菜单,可惜不提供免费下载,也没有代码.以前自己也写过类似的效果,只是都是一小块一小块的,现在重新拼凑.我将一步一步的实现拼凑过程,希望对你有所帮助. Demo在 ...

  5. (转)jquery仿天猫商城左侧导航菜单

    原文地址:http://www.cnblogs.com/WinKi/p/3398824.html 之前看到有博友写了一个仿天猫商城左侧导航菜单,可惜不提供免费下载,也没有代码.以前自己也写过类似的效果 ...

  6. 一款基于的jQuery仿苹果样式焦点图插件

    这次我们要分享的这款jQuery焦点图非常特别,它的外观特别简单,但是又相当大气.焦点图的整体样式是仿苹果样式的,由于jQuery的运用,我们只要点击图片下方的缩略图即可达到图片切换的焦点图特效,这款 ...

  7. 用jquery制作一个简单的导航栏

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. Android之仿今日头条顶部导航栏效果

    随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候像今日头条新闻客户端要显示的内容太多,而且又想在主界面全部显示出来,所以 ...

  9. jQuery实现鼠标滑过导航栏呈现不同的样式

    素材图片 源码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

随机推荐

  1. [置顶] Array ArrayList LinkList的区别剖析

    这是一个面试中我们经常被问到的问题 Array.ArrayList.LinkList之间的区别:Array.ArrayList.LinkList均属于泛型的范畴,都用来存放元素,主要区别是Array是 ...

  2. 基于Visual C++2012拆解世界五百强面试题--题3

    请用C语言实现 输入N,打印N*N矩阵 比如 N = 3, 打印: 1 2 3 8 9 4 7 6 5 N = 4, 打印 1   2    3   4 12  13   14  5 11  16   ...

  3. Java和JavaScript中使用Json方法大全

    林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka   摘要:JSON(JavaScript Object Notation) 是一种轻量级的数 ...

  4. oracle恢复被覆盖的存储过程

    假设你不小心覆盖了之前的存储过程,那得赶紧闪回,时长越长闪回的可能性越小.原理非常easy,存储过程的定义就是数据字典,改动数据字典跟改动普通表的数据没有差别,此时会把改动前的内容放到undo中,我们 ...

  5. eclipse下maven插件的安装

    最近公司项目要求使用maven来进行项目的管理开发,在这里记录一下eclipse下maven插件的安装. maven插件在eclipse下安装害得我挺恼火的. 我想用最简单的那种方式--在线安装: 通 ...

  6. POJ 2750 Potted Flower

    Potted Flower Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3872   Accepted: 1446 Des ...

  7. php mysqli注意问题

    今天写了这个一段代码 function ip_get_method($action , $device){ if($action != 'search'){ request_die(false,'un ...

  8. windows 环境下mysql 如何修改root密码

    windows 环境下mysql 如何修改root密码 以windows为例: 无法开启服务,将mysql更目录下的data文件夹清空,然后调用 mysqld --initialize 开启mysql ...

  9. codevs 2822爱在心中

    不想吐槽题目.... /* K bulabula 算法(好像用哪个T bulabula更简单 然而我并不会 - -) 丑陋的处理cnt: Printf时 cnt中 ans[i][0]==1 的删掉 然 ...

  10. C# 日期字符串转成javascript日期

    1.c# date to js date var csharpStr='/Date(1479694396330)/'; //替换掉非数字 csharpStr=csharpStr.replace(/[^ ...