/*初始化 | begin*/ html{font-size: 10px;line-height: 1em;} body,ul{margin: 0;padding:0;} ul,li{list-style: none;} /*初始化 | end*/ .move{-webkit-transition: all 0.3s ease 0;-webkit-transition: all 0.3s ease 0;-moz-transition: all 0.3s ease 0;-o-transition: all 0.3s ease 0;transition: all 0.3s ease 0;} .tabar{display: table;table-layout: fixed;width: 100%;border-bottom: 1px solid #e8e8e8;overflow: hidden;} .tabar>li{display: table-cell;font-size: 1.4em;line-height: 1.2em;padding:10px 2px;text-align: center;position: relative;cursor:pointer;vertical-align: middle;} .tabar>li:after{content:"";height: 15px;width: 1px;background-color: #e8e8e8;position: absolute;left: -1px;top: 50%;margin-top: -8px;} .w-tabar{width:100%;position: relative;margin-bottom: 21px;} .w-tabar i{width:50%;height: 3px;display: block;position: absolute;bottom: 0;background: #57d0ff;} /*第二种*/ .tabar_ato{width: auto;} .tabar_ato>li{padding-left:20px;padding-right:20px;white-space: nowrap;}
<div class="aaa1"> <div data-tabar="0">XXXXXXXXXXXXXXXXXXXX</div> <div data-tabar="1">XXXXXXXXXXXXXXXXXXXX</div> <div data-tabar="2">XXXXXXXXXXXXXXXXXXXX</div> <div data-tabar="3">XXXXXXXXXXXXXXXXXXXX</div> <div data-tabar="4">XXXXXXXXXXXXXXXXXXXX</div> </div> <div class="aaa2"> <div data-tabar="0">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div> <div data-tabar="1">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div> <div data-tabar="2">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div> <div data-tabar="3">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div> <div data-tabar="4">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div> </div> $(function(){ $(".aaa1").tabar({"arr":["我1","标题2","我是ghkhkghkjghj题3","是标题4"],"style":"auto","isOn":true}); $(".aaa2").tabar({"arr":["我1","标题2","我是gh","是标题4"],"isOn":true}); })
/* * @author:Cheryl * @made:2015-12-31 */ jQuery.extend( jQuery.easing, { easeOutBack: function (x, t, b, c, d, s) { if (s == undefined) s = 1.70158; return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; }, }); (function (window, $, undefined) { function tabDiv(dom,eqLi){ dom.children('div[data-tabar='+eqLi+']').fadeIn(500).siblings('div[data-tabar]').fadeOut(0); } $.tabarClass={ arr:["标题1","标题2"], style:"default",//auto odf:{ class:"tabar", }, oato:{ class:"tabar tabar_ato", }, isOn:true, } $.extend($.fn, { tabar: function (option) { if ($(this)[0] == null || $(this)[0] == undefined) { return; }; //进行初始化 var options=$.extend($.tabarClass,option||{}); var dom=$(this); //添加元素 var lenLi=options.arr.length; var strHtml=""; for (var i = 0; i < lenLi; i++) { strHtml+="<li>"+options.arr[i]+"</li>" } dom.find('.w-tabar').remove(); dom.prepend("<div class='w-tabar'><ul class='"+(option.style==="auto"?$.tabarClass.oato.class:$.tabarClass.odf.class)+"'>"+strHtml+"</ul><i class='move'></i></div>") //隐藏元素 if (option.isOn) { dom.find('div[data-tabar]').eq(0).css("display","block").siblings('div[data-tabar]').css("display","none"); }else{}//不需要进行切换 //定义方法 var bar=dom.find('.w-tabar'); var barUL=bar.find('.tabar'); var barLi=barUL.children('li'); //初始化 i 长度定义 var wdhLi=barLi.eq(0).innerWidth(); dom.find('i.move').css("width",wdhLi+"px"); //定义方法 if (option.style==="auto") { var arrLi=[]; var leftLi=[0] var sNum=0; for (var i = 0; i < lenLi; i++) { sNum+=arrLi[i]=barLi.eq(i).innerWidth(); leftLi[i+1]=sNum; } dom.find('i.move').css("width",wdhLi+"px"); //定义方法 barLi.click(function(event) { var eqLi=$(this).index(); bar.find('i.move').stop().animate({"left":leftLi[eqLi]+"px","width":arrLi[eqLi]+"px"}, 300,"easeOutBack"); if (option.isOn) {tabDiv(dom,eqLi);}else{} }); }else{ wdhLi=100/lenLi; barLi.click(function(event) { var eqLi=$(this).index(); bar.find('i.move').stop().animate({"left":eqLi*wdhLi+"%"}, 300,"easeOutBack"); // dom.children('div[data-tabar='+eqLi+']').fadeIn(500).siblings('div[data-tabar]').fadeOut(0); if (option.isOn) {tabDiv(dom,eqLi);}else{} }); } }, }) })(window, jQuery);