<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css"> *{
padding:0;
margin:0;
}
.tab{
width: 300px;
height: 300px;
border:1px solid #333;
margin:50px auto;
}
.tab .hd{
height:40px;
line-height: 39px;
text-align: center;
overflow: hidden;
}
.tab .hd span{
float: left;
width: 99px;
height:39px;
border-left:1px solid #333;
border-bottom:1px solid #333;
}
.tab .hd span:first-child{
width: 100px;
border-left: none;
}
.tab .hd span.cur{
background-color: lightblue;
border-bottom: none;
font-weight: bold;
}
.tab .bd{
overflow: hidden;
}
.tab .bd div{
width: 100%;
height: 260px;
display: none;
}
.tab .bd div.cur{
display: block;
} </style>
</head>
<body>
<div class="tab">
<div class="hd" id="hd">
<span class="cur">新闻</span>
<span>体育</span>
<span>时尚</span>
</div>
<div class="bd" id="bd">
<div class="cur">新闻</div>
<div>体育</div>
<div>时尚</div>
</div>
</div> <script type="text/javascript">
// 获取元素
var spans = document.getElementById("hd").getElementsByTagName("span");
var divs = document.getElementById("bd").getElementsByTagName("div"); // 批量给span添加鼠标进入事件
for(var i = 0 ; i < spans.length ; i ++){
// 将i保存在index属性中
spans[i].index = i; spans[i].onmouseenter = function(){
// 所有的span恢复原状
for(var j = 0 ; j < spans.length ; j ++){
spans[j].className = "";
}
// 特殊的那个span加cur。
this.className = "cur"; // div对应和排他
// 所有div恢复原状
for(var k = 0 ; k < divs.length ; k ++){
divs[k].className = "";
}
// 对应的div加cur
divs[this.index].className = "cur";
};
} </script>
</body>
</html>

原生js选项卡的更多相关文章

  1. 原生JS 选项卡代码实现

    可实现同页面多个选项卡 效果图: 代码实现: HTML部分 <div class="main" id="tabs"> <div class=& ...

  2. 原生js简易日历效果实现

    这里我们将用原生js实现简易的日历,原理和之前的原生js选项卡差不多,不过也有些区别: 首先html代码: <div class="container"> <di ...

  3. 原生js实现tab选项卡里内嵌图片滚动特效代码

    <!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8&quo ...

  4. 原生JS实现各种经典网页特效——Banner图滚动、选项卡切换、广告弹窗等

    在制作网页过程中,我们可能会遇到各种常用的经典网页特效,比如Banner图片滚动.选项卡循环播放.右下角广告弹窗.评论提交展示.选项动态增删.剪刀石头布小游戏等等等...是不是感觉都见到过这些场景.那 ...

  5. 原生js、jQuery实现选项卡功能

    在大家在网上平常浏览网页的时候,想必各位都会看到选项卡功能,在这里给大家详解一下用原生js.jQuery如何来写一些基本的选项卡 话不多说,先给各位看一下功能图:              好了,下边 ...

  6. 原生js面向对象编程-选项卡(自动轮播)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. 原生js面向对象编程-选项卡(点击)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  8. 原生js实现tab选项卡

    1.html部分 <body>        <div id="tab">            <div class="tab_menu& ...

  9. 使用原生js实现选项卡功能实例教程

    选项卡是前端常见的基本功能,它是用多个标签页来区分不同内容,通过选择标签快速切换内容.学习本教程之前,读者需要具备html和css技能,同时需要有简单的javascript基础. 先来完成html部分 ...

随机推荐

  1. python自动化--字符串和整数的转换,while的循环体

    字符串(str)和整数(int)类型变量的结合 *遵循只有同一类型的变量才可以结合. *不同类型的变量之间的转换 实例:实现打印出"192.168.100"和1的结合出" ...

  2. 服务器固件测试--PCI设备的介绍(集成网卡和外插网卡)

    今天2017年9月26号,快三个月的时间,是该梳理一下,我来到这个岗位学到的东西. 网卡是什么 网卡分为俩大类 板载的集成网卡和外插的网卡.外插的网卡又分为很多种. 板载的集成网卡 外插的网卡分为 I ...

  3. 数据从文件导入Elasticsearch

    1.资源准备 1.数据文件:accounts.json 2.索引名称:bank 3.数据类型:account 4.批量操作API:bulk 2.导入数据 curl -XPOST 'localhost: ...

  4. springboot整合mybatis使用阿里(阿里连接池)和xml方式

    源码地址:https://github.com/wuhongpu/springboot-mybatis.git 1.在pom文件中引入相关依赖包 <?xml version="1.0& ...

  5. web.config中配置数据库(多数据)连接的两种方式

    这是我的第一篇文章,既然是第一篇了,那就从最基础的只是说起--web.config中配置数据库连接. 网上有很多这方面的资料,但发现并没有一篇从头到位很清楚明了说完的,今天就把我的整理写在这里吧. 在 ...

  6. 《C++程序设计语言(英文第四版)》【PDF】下载

    <C++程序设计语言(英文第四版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382177 内容简介 本书是C++领域经典的参 ...

  7. 【CSS3】渐变

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. mysql-5.7.17.msi安装

    mysql-5.7.17.msi安装,跟着截图摩擦,一步一步是爪牙,是魔鬼的步伐 开始: 可以创建其他用户 我自己改了日志名

  9. 转:IT巨头纷纷“卡位” 智能语音成人机交互入口必争之地

    http://www.cs.com.cn/xwzx/hwxx/201707/t20170712_5368595.html 随着物联网的迅速发展,作为重要接口的智能语音技术已成为国内外IT巨头的必争之地 ...

  10. 如何在MQ中实现支持任意延迟的消息?

    什么是定时消息和延迟消息? 定时消息:Producer 将消息发送到 MQ 服务端,但并不期望这条消息立马投递,而是推迟到在当前时间点之后的某一个时间投递到 Consumer 进行消费,该消息即定时消 ...