菜鸟求高手用js和css写一个tab,并注释要点

解决方案 »

  1.   


    <!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=gb2312" />
    <meta name="keywords" content="站长,网页特效,网页特效代码,js特效,js脚本,脚本,广告代码,zzjs,zzjs.net,www.zzjs.net,站长特效 网" />
    <meta name="description" content="www.zzjs.net,站长特效网,站长必备js特效及广告代码。以质量为核心,以实用为目的,打造一流网页特效站" />
    <TITLE>站长特效 js+css仿网易tab选项卡特效 站长特效网</TITLE>
    <STYLE type=text/css>
    BODY {
     FONT-SIZE: 14px; }
    OL LI {
     MARGIN: 8px
    }
    #con {
     FONT-SIZE: 12px; MARGIN: 0px auto; WIDTH: 600px
    }
    #tags {
     PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 10px; WIDTH: 400px; PADDING-TOP: 0px; HEIGHT: 23px
    }
    #tags LI {
     BACKGROUND: url(/img/tagleft_20110118zzjs_net.gif) no-repeat left bottom; FLOAT: left; MARGIN-RIGHT: 1px; LIST-STYLE-TYPE: none; HEIGHT: 23px
    }
    #tags LI A {
     PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: url(/img/tagright_20110118zzjs_net.gif) no-repeat right bottom; FLOAT: left; PADDING-BOTTOM: 0px; COLOR: #999;LINE-HEIGHT: 23px; PADDING-TOP: 0px; HEIGHT: 23px; TEXT-DECORATION: none
    }
    #tags LI.emptyTag {
     BACKGROUND: none transparent scroll repeat 0% 0%; WIDTH: 4px
    }
    #tags LI.zzjs_net {
     BACKGROUND-POSITION: left top; MARGIN-BOTTOM: -2px; POSITION: relative; HEIGHT: 25px
    }
    #tags LI.zzjs_net A {
     BACKGROUND-POSITION: right top; COLOR: #000; LINE-HEIGHT: 25px; HEIGHT: 25px
    }
    #wwwzzjsnet {
     BORDER-RIGHT: #aecbd4 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #aecbd4 1px solid; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; BORDER-LEFT: #aecbd4 1px solid;PADDING-TOP:1px; BORDER-BOTTOM: #aecbd4 1px solid; BACKGROUND-COLOR: #fff
    }
    .wwwzzjsnet {
    PADDING-RIGHT: 10px; DISPLAY: none; PADDING-LEFT: 10px; BACKGROUND: url(/img/bg__20110118zzjs_net.gif) repeat-x; PADDING-BOTTOM: 10px; WIDTH: 576px; COLOR: #474747; PADDING-TOP: 10px; HEIGHT: 250px
    }
    #wwwzzjsnet DIV.zzjs_net {
    DISPLAY: block
    }
    </STYLE>
    </HEAD>
    <BODY>
    <a href="http://www.zzjs.net/">站长特效网</a>,以质量为核心,以实用为目的,打造一流网页特效站!zzjs.net,站长js特效。<hr>
    <DIV id=con>
    <UL id=tags>
      <LI><A onClick="select_zzjs('wwwzzjsnet0',this)" href="javascript:void(0)">站长特效一号</A> </LI>
      <LI class=zzjs_net><A onClick="select_zzjs('wwwzzjsnet1',this)" href="javascript:void(0)">站长特效二号</A> </LI>
      <LI><A onClick="select_zzjs('wwwzzjsnet2',this)" href="javascript:void(0)">站长特效三号</A> </LI></UL>
    <DIV id=wwwzzjsnet>
    <DIV class=wwwzzjsnet id=wwwzzjsnet0><a href="http://www.zzjs.net">站长特效一号内容</a>,以质量为核心,以实用为目的,打造一流网页特效站!</DIV>
    <DIV class="wwwzzjsnet zzjs_net" id=wwwzzjsnet1><a href="http://www.zzjs.net">站长特效二号内容</a>,以质量为核心,以实用为目的,打造一流网页特效站!</DIV>
    <DIV class=wwwzzjsnet id=wwwzzjsnet2><a href="http://www.zzjs.net">站长特效三号内容</a>,以质量为核心,以实用为目的,打造一流网页特效站!</DIV></DIV></DIV>
    <SCRIPT type=text/javascript>
    function select_zzjs(showContent,selfObj){
    // 标签
    var tag = document.getElementById("tags").getElementsByTagName("li");
    var taglength = tag.length;
    for(i=0; i<taglength; i++){
    tag[i].className = "";
    }
    selfObj.parentNode.className = "zzjs_net";
    // 标签内容
    for(i=0; j=document.getElementById("wwwzzjsnet"+i); i++){
    j.style.display = "none";
    }
    document.getElementById(showContent).style.display = "block";
    }
    </SCRIPT>
    </BODY>
    </HTML>我在网上找了个,你有什么不懂的地方提出来就好了。。
      

  2.   

    算了,站长网的代码看着着实不爽,看这个:<!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=gb2312" />
    <title>无标题文档</title>
    <head>
    <title>无标题文档</title>
    <style>
    * {list-style-type:none; font-size:12px; text-decoration:none; margin:0; padding:0;}
    .tab{  margin:20px; width:244px; height:200px; overflow:hidden; border:1px #AACCEE solid;}
    .tab_b{ overflow:hidden; margin:5px; }
    .menu  {overflow:hidden; }
    .menu li{ display:block; float:left; display: list-item; text-align:center; width:60px; background-color:#EDF4FC;line-height:20px; border-bottom:1px #AACCEE solid;border-right:1px #AACCEE solid; }
    .menu li a{ display:block;}
    .menu_d{border-bottom:1px #FFFFFF solid;background-color:#FFFFFF; }
    .tab ul li.aaa
    {
    background: #FFFFFF;
    border-bottom:0px #FFFFFF solid;
    }
    </style>
    </head>
    <body>
    <script language="javascript">
    function tabs(n)
    {
    var len = 4;
    for (var i = 1; i <= len; i++)
    {
    document.getElementById('tab_a' + i).style.display = (i == n) ? 'block' : 'none';
    document.getElementById('tab_' + i).className = (i == n) ? 'aaa' : 'none';
    }
    }
        </script>
    <div class="tab">
    <ul class="menu" id="menutitle">
    <li id="tab_1" class="aaa"><a href="javascript:void(0)" onmouseover="tabs('1');" >新闻</a></li>
    <li id="tab_2" ><a href="javascript:void(0)" onmouseover="tabs('2');" >生活</a></li>
    <li id="tab_3" ><a href="javascript:void(0)" onmouseover="tabs('3');" >家居</a></li>
    <li id="tab_4" ><a href="javascript:void(0)" onmouseover="tabs('4');" >旅游</a></li>
    </ul>
    <div class="tab_b" id="tab_a1" style="display:block;"> 本地国内国际新闻<br />新浪</div>
    <div class="tab_b" id="tab_a2" style="display:none;">网易  本土生活</div>
    <div class="tab_b" id="tab_a3" style="display:none;">舒适居家房地产信息</div>
    <div class="tab_b" id="tab_a4" style="display:none;">出行 度假</div>
    </div>
    </body>
    </html>效果其实挺好实现的,真的有疑问,可以留言。。
      

  3.   


    document.getElementById('tab_a' + i).style.display = (i == n) ? 'block' : 'none';
    document.getElementById('tab_' + i).className = (i == n) ? 'aaa' : 'none';
    -----------------------------------------------------------------------------
    1 请教'tab_a' + i和'tab_' + i的结果是多少呀?2 className=aaa or className=none ,这句话有什么用呀? 
    <li id="tab_4" ><a href="javascript:void(0)" onmouseover="tabs('4');" >旅游</a></li>3 href="javascript:void(0)"  这个地方void(0) 是不是没用呀?
      

  4.   

    1 请教'tab_a' + i和'tab_' + i的结果是多少呀?
    若i=1;上面两个结果分别为tab_a1和tab_1,分别是两个id值
    2 className=aaa or className=none ,这句话有什么用呀? 
    让这个节点添加一个class="aaa"//一般就是使这个节点有了.aaa的css属性(常用),第二个相当于取消了这个class,节点也就没有那些css属性了<li id="tab_4" ><a href="javascript:void(0)" onmouseover="tabs('4');" >旅游</a></li>3 href="javascript:void(0)" 这个地方void(0) 是不是没用呀?
    一般的a标签点击后都会指向href的网址,这样写会使链接失效,即点击不跳转!!!