tab切换 js制作 index和this的应用

这个问题刚开始的时候挺纠结的,怎么从getelementsByTagName()获得,用index和this即可做到,还有的应用到数组的遍历具体看下面的代码吧!

HTML和js代码

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>TAB切换</title>
    <link href="css/tab.css" rel="stylesheet">
</head>

<body>
<div class="div_bg">
    <ul id="bg">
        <li id="bg1" class="nobg" onmouseover="tab()"><a class="white">小说</a></li>
        <li id="bg2" class="nobg" onmouseover="tab()"><a class="white">非小说</a></li>
        <li id="bg3" class="nobg"><a class="white">少儿</a></li>
    </ul>
    <div id="book1">
        <a href="#" target=_blank>1.时间旅行者的妻子</a><br>
        <a href="#" target=_blank>2.女心理师(下)</a><br>
        <a href="#" target=_blank>3.鬼吹灯之精绝古城</a><br>
        <a href="#" target=_blank>4.女心理师(上)</a><br>
        <a href="#" target=_blank>5.小时候</a><br>
        <a href="#" target=_blank>6.追风筝的人</a><br>
        <a href="#" target=_blank>7.盗墓笔记2</a><br>
        <a href="#" target=_blank>8.输赢</a>
    </div>
    <div id="book2">
        <a href="#" target=_blank>1.人生若只如初见</a><br>
        <a href="#" target=_blank>2.高效能人士的七个..</a><br>
        <a href="#" target=_blank>3.求医不如求己</a><br>
        <a href="#" target=_blank>4.人体使用手册</a><br>
        <a href="#" target=_blank>5.孩子,把你的手给我</a><br>
        <a href="#" target=_blank>6.别笑!我是英文单词书</a><br>
        <a href="#" target=_blank>7.人体经络使用手册</a><br>
        <a href="#" target=_blank>8.股市稳赚</a>
    </div>
    <div id="book3">
        <a href="#" target=_blank>1.斯凯瑞金色童书?..</a><br>
        <a href="#" target=_blank>2.哈利?波特与“混..</a><br>
        <a href="#" target=_blank>3.不一样的卡梅拉(..</a><br>
        <a href="#" target=_blank>4.它们是怎么来的</a><br>
        <a href="#" target=_blank>5.五?三班的坏小子..</a><br>
        <a href="#" target=_blank>6.男生日记</a><br>
        <a href="#" target=_blank>7.哈利?波特与魔法石</a><br>
        <a href="#" target=_blank>8.噼里啪啦丛书(全7册)</a>
    </div>
</div>
</body>
<script type="text/javascript">
    window.onload=function(){
            var  list = document.getElementsByTagName("li");
            for(var i=0;i<list.length;i++){
                list[i].index=i;
                list[i].onmousemove=function(){            //获得当前元素的下表
                    var index = this.index;            //给每一个元素恢复原始
                    for(var i=0;i<3;i++){
                        document.getElementById("bg"+(i+1)).className="nobg";
                        document.getElementById("book"+(i+1)).style.display="none";
                    }            //对选择的元素添加样式
                    document.getElementById("bg"+(index+1)).className="bg";
                    document.getElementById("book"+(index+1)).style.display="block";
                }
            }

        }
</script>
</html>

css代码

*{
    margin:0;
    padding: 0;
    font-family: "Arial", "微软雅黑";
    font-size: 12px;
    line-height: 23px;
}
ul,li{list-style: none;}
li{float: left; margin-right: 1px;}
.div_bg{
    background-image:url(../images/bg.jpg);
    background-repeat:no-repeat;
    width:169px;
    height:290px;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    padding: 50px 0 0 15px;
    position: relative;
}
.div_bg div{
    clear: both; padding-top: 10px;}
.white{font-size:12px;
    color:#FFFFFF;
    padding-top:2px;
    cursor:pointer;
}
.white:hover{font-size:12px;
    color:#FFFFFF;
    padding-top:2px;
    cursor:pointer;
}
a {
    color: #06329b;text-decoration: none;line-height:24px;
}
a:hover {
    color: #cc0000;text-decoration: none;line-height:24px;
}
.bg{background-image:url(../images/menu1.gif);
    background-repeat:no-repeat;
    height:23px;
    width:47px;
    text-align:center;}

.nobg{background-image:url(../images/menu2.gif);
    background-repeat:no-repeat;
    height:23px;
    width:47px;
    text-align:center;
}
#book2,#book3{
    display: none;
}
.div_bg div{
    position: absolute;
    top: 80px;
}
时间: 2024-11-17 03:59:52

tab切换 js制作 index和this的应用的相关文章

bootstrap 标签页tab切换js(含报错原因)

booststrap 标签页的tab切换,相信大家已经都很熟悉了,在boot官网示例以及其他网站已经很多罗列相关代码的了,这里就不赘述了.这里主要贴下让boot标签页默认显示哪个标签页的js. 主要留作自己工作备忘. 1 $('a[data-toggle="tab"]') 2 $('#myTab a[href="#profile"]').tab('show') 3 $('#myTab a:first').tab('show') 4 $('#myTab a:last'

tab切换(js+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"> <head> <meta http-equiv="Content-

Vue.js实现tab切换效果

利用Vue实现简易tab切换效果 1.1 在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了vue后,开始要写出一些简单的特效. 1.2 实现思路是点击上方的标题,下方的内容随之发生改变,上方和下方用的是两个块,是兄弟节点,所以需要点击tab标题和下方内容一一对应,基予两个模块若下标相同是一个内容实现的. 1.3 tab切换第一步先要把HTML写好,这个第一步很关键,主要分为两块结构 <div id="app"> &l

vue初级页面 tab切换 表格动态绑定 v-for(item,index) in datas.system :value=&#39;item.values&#39;

<?php /** * Created by PhpStorm. * User: 信息部 * Date: 2017/10/26 * Time: 13:10 */ use PSI\assets\VueAsset; VueAsset::register($this); $this->title='角色添加'; ?> <style> .labels{ vertical-align:middle; margin:0; display:inline-block; height:100%

一个页面可以重复调用的TAB选项卡切换js代码 鼠标悬浮

/*下面是景点页面的变动代码*/ .tabbox { height: 176px; padding-bottom: 10px; } .tabmenu { height:25px; background:url(../imges/scenery_04.jpg) right no-repeat; } .tabmenu ul {margin:0;padding:0;list-style-type: none;             border-bottom:solid 1px #816e59; h

JS控制下的双层Tab切换

如题,JS控制下的双层Tab切换,其实只要想通了原理,实现起来很简单! 首先,附上CSS <style type="text/css"> img{border:none;padding:0px; margin:0 auto;} ul,li{list-style-type:none; margin:0px; padding:0px;} body {font-family:ì,Dì,oúì,Arial,Helvetica,sans-serif;font-size:12px;co

js用户管理中心tab切换界面模板

效果体验:http://hovertree.com/texiao/js/27/ 效果图如下: 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>js用户管理中心tab切换界面模板 - 何问起</title><base

简单js实现竖行tab切换

<!DOCTYPE ><html lang="ru"><head><title>简单js实现竖行tab切换</title><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><style type="text/css">*{margin:0;padding:0; -

原生JS实现tab切换--web前端开发

tab切换非常常见,应用非常广泛,比较实用,一般来说是一个网站必不可少的一个效果.例如:https://123.sogou.com/中的一个tab部分: 1.案例源代码 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>tab切换</title> <style> *{margin: 0;paddin