码迷,mamicode.com
首页 > 其他好文 > 详细

兼容性很好的纵向选项卡

时间:2014-11-06 14:38:55      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   os   for   sp   

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>风云榜</title>
<style>
body,div,h5,ul,li{margin:0;padding:0;}
body{font:12px/1.5 Arial;}
li{list-style:none;}
a:link,a:visited{color:#333;text-decoration:none;}
a:hover{text-decoration:underline;}

.newsxxk {display:inline;float:left;width:270px;}
.newsxxk .tab{width:50px;position:relative; float:left;}
.newsxxk .tab ul{top:0px;width:50px;overflow:hidden;}
.newsxxk .tab ul li{cursor:pointer;line-height:26px;padding:0 8px;}
.newsxxk .tab ul li.current{cursor:text;color:#E45E2E;font-weight:700;}
.newsxxk .items{display:none; float:left; }
.newsxxk .items a{color:#3A64B0;}
.newsxxk .items li{height:24px;line-height:24px;padding-left:20px;border-bottom:1px solid #EBEBEB;}

</style>
<script>
var fgm = {
 $: function(id) {
  return typeof id === "object" ? id : document.getElementById(id);
 },
 $$: function(tagName, oParent) {
  return (oParent || document).getElementsByTagName(tagName);
 },
 $$$: function(className, element, tagName) {
  var i = 0, aClass = [], reClass = new RegExp("(^|\\s)" + className + "(\\s|$)"), aElement = fgm.$$(tagName || "*", element || document);
  for (i = 0; i < aElement.length; i++) reClass.test(aElement[i].className) && aClass.push(aElement[i]);
  return aClass;
 },
 index: function(element) {
  var aChildren = element.parentNode.children, i;
  for(i = 0; i < aChildren.length; i++) if(aChildren[i] === element) return i;
  return -1;
 },
 on: function(element, type, handler) {
  return element.addEventListener ? element.addEventListener(type, handler, !1) : element.attachEvent("on" + type, handler); 
 },
 bind: function(object, handler) {
  return function() {
   return handler.apply(object, arguments);
  }; 
 }
};
function Tab(id) {
 var that = this;
 this.obj = fgm.$(id);
 this.oTab = fgm.$$$("tab", this.obj)[0];
 this.aTab = fgm.$$("li", this.oTab);
 this.oSwitch = fgm.$$$("switchBtn", this.oTab)[0];
 this.oPrev = fgm.$$("a", this.oSwitch)[0];
 this.oNext = fgm.$$("a", this.oSwitch)[1];
 this.aItems = fgm.$$$("items", this.obj);
 this.iNow = 0;  
 fgm.on(this.oSwitch, "click", fgm.bind(this, this.fnClick));
 fgm.on(this.oTab, "mouseover", fgm.bind(this, this.fnMouseOver));
}
Tab.prototype = {
 fnMouseOver: function(ev) {
  var oEv = ev || event,
  oTarget = oEv.target || oEv.srcElement;
  oTarget.tagName.toUpperCase() === "LI" && (this.iNow = fgm.index(oTarget));
  this.fnSwitch();
 },
 fnClick: function(ev) {
  var oEv = ev || event,
  oTarget = oEv.target || oEv.srcElement,
  i;
  switch(fgm.index(oTarget)) {
   case 0:
    if(oTarget.className == "prev") {
     this.aTab[this.iNow].style.display = "block";
     this.iNow--; 
    };
    break;
   case 1:
    if(oTarget.className == "next") {     
     for(i = 0; i < this.iNow; i++) this.aTab[i].style.display = "none";
     this.iNow++; 
    };
    break;
  };
  this.aTab[this.iNow].style.display = "block";  
  this.fnSwitch(); 
 },
 fnSwitch: function() {
  for(var i = 0; i < this.aTab.length; i++) (this.aTab[i].className = "", this.aItems[i].style.display = "none"); 
  this.aTab[this.iNow].className = "current";
  this.aItems[this.iNow].style.display = "block";
  this.oPrev.className = this.iNow == 0 ? "prevNot" : "prev";
  this.oNext.className = this.iNow == this.aTab.length - 1 ? "nextNot" : "next";
 }
};
//应用
fgm.on(window, "load", function() {
 var aItem = fgm.$$$("newsxxk"),
 i = 0;
 for(; i < aItem.length; i++) new Tab(aItem[i]);
});
</script>
</head>
    <div class="newsxxk">
            <div class="tab">
                <ul>
                    <li>英语</li>
                    <li>留学</li>
                </ul>
                <span class="switchBtn"></span>
            </div>
            <div class="items" style="display:block;">
            <ul>
                <li><a href="http://js.alixixi.com">北京四中网校</a></li>
                <li><a href="http://js.alixixi.com">学大教育</a></li>
                <li><a href="http://js.alixixi.com">中国统一教育网</a></li>
                <li><a href="http://js.alixixi.com">101远程教育网</a></li>
                <li><a href="http://js.alixixi.com">巨人教育</a></li>
                <li><a href="http://js.alixixi.com">黄冈中学网校</a></li>
            </ul>
            </div>
            <div class="items">
            <ul>
                <li><a href="http://js.alixixi.com">新东方</a></li>
                <li><a href="http://js.alixixi.com">英孚教育</a></li>
                <li><a href="http://js.alixixi.com">环球雅思</a></li>
                <li><a href="http://js.alixixi.com">韦博国际英语</a></li>
                <li><a href="http://js.alixixi.com">华尔街英语</a></li>
                <li><a href="http://js.alixixi.com">新航道</a></li>
            </ul>
            </div>


      </div>

</body>
</html>

  

兼容性很好的纵向选项卡

标签:style   blog   http   io   color   ar   os   for   sp   

原文地址:http://www.cnblogs.com/hellman/p/4078627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!