兼容性很好的横向选项卡

<!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;}

.tabs {display:inline;float:left;width:270px;}
.tabs .tab{position:relative;height:25px;}
.tabs .tab ul{top:0px;width:260px;height:28px;overflow:hidden;}
.tabs .tab ul li{float:left;cursor:pointer;line-height:26px;padding:0 8px;}
.tabs .tab ul li.current{ cursor:pointer; color:#E45E2E;font-weight:700;}
.tabs .items{display:none; }
.tabs .items a{color:#3A64B0;}
.tabs .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";
 }
};
//应用
fgm.on(window, "load", function() {
 var aItem = fgm.$$$("tabs"),
 i = 0;
 for(; i < aItem.length; i++) new Tab(aItem[i]);
});
</script>
</head>
    <div class="tabs">
            <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>

  

时间: 2024-08-08 04:56:18

兼容性很好的横向选项卡的相关文章

兼容性很好的纵向选项卡

<!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-

一款兼容性很好的标准二级css下拉菜单

<!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" lang="zh-CN"> <head> <meta ht

鼠标悬浮onmouseover:Jquery兼容性很好的,竖向选项卡切换代码

<!DOCTYPE html> <html  lang="en"> <head> <meta charset="utf-8"> <title>TAB切换</title> <script type="text/javascript" src="jQuery1.7.js"></script> <script type="

picturefill + picture 标签 实现兼容性很棒的 响应式图片 自适应 屏幕大小

polyfill 它是一个能够补齐浏览器兼容性问题的一个东西,使用到的<picture></picture>标签 ,并不是所有浏览器都支持,为了实现更好的兼容效果,这里就使用到了这个东西 ,它能在浏览器不支持的时候提供一些替代的方式 ,对于响应式图片,有名的picturefill库能实现兼容性强的‘响应式’图片,对于不支持picture的浏览器,它会用js获取srcset后面的设置,然后决定输出什么样的图片 使用方法 引入js文件(可从cdnjs.com下载) <script

如何写出兼容性很好的页面

写出好的页面前首先你要把HTML4与HTML5学会了,然后CSS,CSS3也有一定的掌握. 通常情况下,不同类型的网站都去认认真真的排版后,对前端就有一定的掌握程度,对写静态页面问题就不大了.至于个数嘛,3个完整网站以上. 提醒:如果要写出非常好的页面,js是必不可少的,这对初学前端的人来说,就有点难度了,但也别胆怯,按照学习的先后进度来学习,先学HTML+CSS,再学习HTML5+CSS3,学到一定程序后,再去接触javascript,我相信就算是自学,HTML+CSS 2个月左右,javas

兼容性很好的纯css圆角

<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>纯css圆角</title> <style type="text/css"> #xsnazzy h1,#xsnazzy h2,#xsnazzy p{margin:0 10px;letter-spacing:1px;} #

CSS样式设计工具,兼容性很强的颜色控件

http://jmams.github.io/test/201501/test.html //author [email protected] // css生成插件 var JcssPicker = window.JcssPicker || {}; //========================================= JcssPicker.ui = { //设置位置 setPoint: function(_x, _y) { this.x = _x; this.y = _y; }

IE浏览器常见CSS兼容性问题及解决办法

对于前端开发者来讲,世界上存在着一个神奇的东西——IE浏览器,尤其是低版本的IE浏览器,惨不忍睹的兼容性使其臭名昭著.前端工作者很多的时间都花在了和它打交道上,所以大家纷纷吐槽IE浏览器如何的渣,简直是万恶之源.但是IE浏览器市场份额有非常大,喷完还要接着搞兼容.对于IE浏览器来讲,我们应该有一个客观的评价.首先其兼容性差,原因可想而知,更新速度太慢,要几年才出一个版本,而市场上的FireFox.chrome等浏览器几个月就有一个版本上市.中间那么长的时间足以将其bug充分的暴露出来,其他浏览器

兼容性测试(1)

笔者从事测试工作已快三年,属于成长中的小蜗牛.上周对小组成员分享了如何进行兼容性测试.今天闲来无事也开始对自我进行总结.随着移动互联网的快速发展,使整个软件行业也快速发展,越来越多的人加入互联网或者说是我们的生活已经与互联网息息相关.密不可分.二十一世界是一个以提供优质服务为企业目标的时代,使得我们软件行业对客户体验越发看重,促使我们对自有产品的兼容性要求也越来越高,以无明显兼容性问题.夸平台的高质量标准进行开发.以下是笔者对兼容性测试的总结,如有错误.或者不足请谅解,也请告知鄙人的不足之处,笔