常用的jquery选项卡插件
2015-6-1更新:
//选项卡插件 ;(function($){ $.fn.extend({ tabs: function(options){ options = $.extend({ tabMenu: ".tab-menu", tabCont: ".tab-cont", event: "click", classname: "selected" }, options); var self = $(this), menus = self.find(options.tabMenu).children(), conts = self.find(options.tabCont).children(); menus.first().addClass(options.classname); conts.hide().first().show(); menus.on(options.event, function(){ var index = $(this).index(); $(this).addClass(options.classname).siblings().removeClass(options.classname); conts.eq(index).show().siblings().hide(); }); } }); })(jQuery);
项目中经常用到选项卡,还是保存到博客里面吧,用的时候直接复制就好,省得每次都写。。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>选项卡插件</title>
<style>
body,ul,li {margin:0; padding:0;}
ul {list-style:none;width:600px;border:1px solid #ddd; margin:0 auto;font-size:14px;}
.hd {background:#eee;height:40px;margin-top:100px;box-shadow:1px 0 10px #eee;}
.hd li {float:left;width:120px;text-align:center;height:40px;line-height:40px;border-right:1px solid #e0e0e0;cursor:pointer;}
.hd li.cur {background:#333;color:#fff;}
.bd {border-top:none;border-radius:0 0 4px 4px;box-shadow:1px 1px 15px #eee;}
.bd li {height:200px;display:none;padding:10px;}
</style>
</head>
<body>
<ul class="hd">
<li>菜单一</li>
<li>菜单二</li>
<li>菜单三</li>
</ul>
<ul class="bd">
<li>内容一</li>
<li>内容二</li>
<li>内容三</li>
</ul>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
;(function($){
$.extend({
Tab: function(menu, cont, event){
var menu = $(menu).children();
var cont = $(cont).children();
menu.first().addClass("cur");
cont.hide().first().show();
menu.on(event, function(){
var index = menu.index(this);
$(this).addClass("cur").siblings().removeClass("cur");
cont.eq(index).show().siblings().hide();
});
}
});
})(jQuery);
</script>
<script>
$(function(){
$.Tab(".hd", ".bd", "click");
});
</script>
</body>
</html>
左右滑动的选项卡,抽空整理成插件:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery滑动选项卡</title>
<style>
body,ul,li {margin:0;padding:0;}
ul {list-style-type:none;}
a {text-decoration:none;color:#333;}
.box {width:500px;margin:20px auto;border:1px solid #ddd;font-size:14px;}
.hd-mod {height:40px;position:relative;background-color:#eee;}
.hd-mod ul {height:100%;}
.hd-mod li {width:130px;height:40px;float:left;}
.hd-mod a {height:100%;position:relative;z-index:1;display:block;line-height:40px;text-align:center;}
.cover {width:130px;height:40px;position:absolute;top:0;left:0;background-color:#3cf;}
.bd-mod {width:500px;overflow:hidden;}
.bd {width:1500px;position:relative;top:0;left:0;}
.list {width:500px;min-height:200px;float:left;}
</style>
</head>
<body>
<div class="box">
<div class="hd-mod">
<ul id="hd" class="hd">
<li><a href="#">菜单一</a></li>
<li><a href="#">菜单二</a></li>
<li style="float:right;"><a href="#">菜单三</a></li>
</ul>
<div class="cover"></div>
</div>
<div class="bd-mod">
<div id="bd" class="bd">
<div class="list">内容1</div>
<div class="list">内容2</div>
<div class="list">内容3</div>
</div>
</div>
</div>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(function() {
var cover = $(".cover");
var menu = $("#hd li");
var cont = $("#bd");
menu.click(function() {
var self = $(this);
var i = menu.index(this);
cover.animate({"left": self.position().left}, "fast");
cont.animate({"left": -i*500}, "fast");
});
})
</script>
</body>
</html>
浙公网安备 33010602011771号