HTML+JS+DOM【选项卡自动切换】
最终效果图(鼠标无操作会自动切换选项卡):
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>无标题文档</title>
<style>
body, ul, li {
font-family:"黑体";
margin:0;
padding:0;
}
ul, li {
list-style:none;
}
.tab {
width:408px;
margin:200px auto auto auto;
}
.hide {
display:none;
}
#tab_head {
height:31px;
border-top:2px solid #03F;
border-bottom:1px solid #090;
}
#tab_head li {
float:left;
width:100px;
height:30px;
line-height:30px;
margin:0 0px;
text-align:center;
border:1px solid #ccc;
border-bottom:none;
background:#f5f5f5;
cursor:pointer
}
#tab_head .current {
position:relative;
height:31px;
margin-bottom:-1px;
background:#fff;
}
#tab_body {
border:1px solid #ccc;
border-top:none;
padding:20px;
height:150px;
text-indent:2em;
}
</style>
<script>
window.onload = function(){
var tab_head = document.getElementById("tab_head");
var tab_head_li = tab_head.getElementsByTagName("li");
var tab_body = document.getElementById("tab_body");
var tab_body_div = tab_body.getElementsByTagName("div");
var len = tab_head_li.length;
var i=0;
var timer = null;
var num=0; //1.进行初始化设置,设置每个导航的onmouseover和onmouseout的事件
for(i=0; i<len; i++){
tab_head_li[i].index = i;
tab_head_li[i].onmouseover = function(){
clearInterval(timer);
num = this.index;
tab_bodychange();
}
tab_head_li[i].onmouseout = function(){ autoplay(); }
} //辅助函数,将num当前置为显示
function tab_bodychange(){
for(i=0; i<len; i++){
tab_head_li[i].className = '';
tab_body_div[i].className = 'hide';
}
tab_head_li[num].className = 'current';
tab_body_div[num].className = '';
}
//辅助函数,自动循环改变
function autoplay(){
timer = setInterval(function(){num=(++num)%len;tab_bodychange();},500);
}
autoplay();//2.进入自动循环
}
</script>
</head>
<body>
<div class="tab">
<ul id="tab_head">
<li class="current">HOME</li>
<li>VIDEO</li>
<li>IMAGE</li>
<li>MUSIC</li>
</ul>
<div id="tab_body">
<div>HOME 标签</div>
<div class="hide">VIDEO 标签</div>
<div class="hide">IMAGE 标签</div>
<div class="hide">MUSIC 标签</div>
</div>
</div>
</body>
</html>
HTML+JS+DOM【选项卡自动切换】的更多相关文章
- js实现图片自动切换效果。
js实现图片自动切换效果,简单实用,原谅我只是一只小菜鸟还在学大神天天写博文装逼. <script language="javascript"> setInterval ...
- Tab选项卡 自动切换效果js实现
try.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- 原生js实现选项卡样式切换的几种方式。
先分享一个不能实现的实例(因为es5没有块作用域) for(var i=0; i<list.length; i++ ) { list[i].onclick = function(){ tabch ...
- js实现左右自动滚动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js原生选项卡(自动播放无缝滚动轮播图)二
今天分享一下自动播放轮播图,自动播放轮播图是在昨天分享的轮播图的基础上添加了定时器,用定时器控制图片的自动切换,函数中首先封装一个方向的自动播放工能的小函数,这个函数中添加定时器,定时器中可以放向右走 ...
- 用html+css+js实现选项卡切换效果
文章转载自:http://tongling.github.io/JSCards/ 用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材 ...
- 原生js+css3实现图片自动切换,图片轮播
运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...
- 用js实现选项卡切换效果
这是要实现的效果图: 一.HTML页面布局 <!-- HTML页面布局 --><ul class="tab_menu"> <li class=&quo ...
- js实现选项卡切换
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
随机推荐
- “Ceph浅析”系列之二——Ceph概况
本文将对Ceph的基本情况进行概要介绍,以期读者能够在不涉及技术细节的情况下对Ceph建立一个初步印象. 1. 什么是Ceph? Ceph的官方网站Ceph.com上用如下这句话简明扼要地定义了Cep ...
- zabbix 监控MySQL
现在我来说一下我的监控环境 zabbix-3.0.3 MySQL-5.6.23 1.首先我们要登录MySQL,创建一个监控MySQL的用户 GRANT USAGE,PROCESS,SUPER,REPL ...
- [转]跟我一起学extjs5(02--建立工程项目)
原文地址:http://blog.csdn.net/jfok/article/details/35569057 目录(?)[+] 跟我一起学extjs5(02--建立工程项目) 我们先建立一个java ...
- JS搞基指南----延迟对象入门提高资料整理
JavaScript的Deferred是比较高大上的东西, 主要的应用还是主ajax的应用, 因为JS和nodeJS这几年的普及, 前端的代码越来越多, 各种回调套回调再套回调实在太让人崩溃, ...
- 用CSS和jQuery制作简单的下拉框
请选择 百度 谷歌 雅虎 新浪 dowebok 代码 素材 模板 教程 示例下载 // li', function() { var parent = $(this).closest('.select' ...
- node.js-概念
官方网站:http://nodejs.cn/ 1.Node 是一个服务器端 JavaScript 解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不 ...
- Html-Css标签lable中定义宽度需要其他的支持
lable的标签如果定义了width,如果要使起生效,则需要定义display width: 130px; display: inline-block;
- HTTP协议学习--- (十一)理解HTTP幂等性
在httpcomponent 文档中看到如下段落: 1.4.1. HTTP transport safety It is important to understand that the HTTP p ...
- python 列表与元组的操作简介
上一篇:Python 序列通用操作介绍 列表 列表是可变的(mutable)--可以改变列表的内容,这不同于字符串和元组,字符串和元组都是不可变的.接下来讨论一下列表所提供的方法. list函数 可以 ...
- 【BZOJ-4326】运输计划 树链剖分 + 树上差分 + 二分
4326: NOIP2015 运输计划 Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 703 Solved: 461[Submit][Status] ...