js實現(xiàn)簡單選項卡與自動切換效果的方法

字號:


    說明:
    設(shè)置一個標(biāo)識數(shù)字置為0,寫一個每過幾秒標(biāo)識+1,執(zhí)行切換效果的函數(shù),然后執(zhí)行。
    當(dāng)標(biāo)識超過當(dāng)前選項卡長度讓標(biāo)識置為0。
    在鼠標(biāo)移到選項卡的時候關(guān)閉定時器,鼠標(biāo)移走的時候打開定時器。
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="gb2312" />
    <title>無標(biāo)題文檔</title>
    <style>
    body,ul,li{
    margin:0;
    padding:0;
    font:12px/1.5 arial;
    }
    ul,li{
    list-style:none;
    }
    .wrap{
    width:500px;
    margin:20px auto;
    }
    .hide{
    display:none;
    }
    #tab_t{
    height:25px;
    border-bottom:1px solid #ccc;
    }
    #tab_t li{
    float:left;
    width:80px;
    height:24px;
    line-height:24px;
    margin:0 4px;
    text-align:center;
    border:1px solid #ccc;
    border-bottom:none;
    background:#f5f5f5;
    cursor:pointer
    }
    #tab_t .act{
    position:relative;
    height:25px;
    margin-bottom:-1px;
    background:#fff;
    }
    #tab_c{
    border:1px solid #ccc;
    border-top:none;
    padding:20px;
    }
    </style>
    <script>
    window.onload = function(){
    tab("tab_t","li","tab_c","div","onmouseover")
    function tab(tab_t,tab_t_tag,tab_c,tag_c_tag,evt){
    var tab_t = document.getElementById(tab_t);
    var tab_t_li = tab_t.getElementsByTagName(tab_t_tag);
    var tab_c = document.getElementById(tab_c);
    var tab_c_li = tab_c.getElementsByTagName(tag_c_tag);
    var len = tab_t_li.length;
    var i=0;
    var timer = null;
    var num=0;
    for(i=0; i<len; i++){
    tab_t_li[i].index = i;
    tab_t_li[i][evt] = function(){
    clearInterval(timer);
    num = this.index;
    tab_change()
    }
    tab_t_li[i].onmouseout = function(){
    autoplay();
    }
    }
    function tab_change(){
    for(i=0; i<len; i++){
    tab_t_li[i].className = '';
    tab_c_li[i].className = 'hide';
    }
    tab_t_li[num].className = 'act';
    tab_c_li[num].className = '';
    }
    function autoplay(){
    timer = setInterval(function(){
    num++;
    if(num>=len) num=0;
    tab_change();
    },1000);
    }
    autoplay();
    }
    }
    </script>
    </head>
    <body>
    <div>
    <ul id="tab_t">
    <li>選擇1</li>
    <li>選擇2</li>
    <li>選擇3</li>
    <li>選擇4</li>
    </ul>
    <div id="tab_c">
    <div>內(nèi)容1</div>
    <div>內(nèi)容2</div>
    <div>內(nèi)容3</div>
    <div>內(nèi)容4</div>
    </div>
    </div>
    </body>
    </html>