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" ...
随机推荐
- 线性表的链式存储C语言版
#include <stdio.h> #include <malloc.h> #define N 10 typedef struct Node { int data; stru ...
- truncate与delete的区别
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源 ...
- [转]理解JavaScript中的事件处理
什么是事件? 事件(Event)是JavaScript应用跳动的心脏 ,也是把所有东西粘在一起的胶水.当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了.事件可能是用户在某些内容上的点击 ...
- 【BZOJ 4636】蒟蒻的数列
http://www.lydsy.com/JudgeOnline/problem.php?id=4636 DCrusher贡献的题目 看了他的博客,有两种做法,动态开点线段树和离线操作离散化区间线段树 ...
- 转自文翼的博客:将本地时间转换为 GMT 时间
在写 RSS 订阅接口的时候,发现最终输出文章的 RSS 时间(GMT时间),在本地上显示的时间和在服务器上显示的时间不一致. 原因是时区不一致,那么在 JavaScript 中,如何将时间转换为统一 ...
- java-读取类中的属性名称和值
方法 /** * 获取类中的所有属性明名称和值(因涉及到可能会是继承关系的父类,所以从f中去属性名称,从f2中取值,两个可以一样,也可以使父类) * @param f:读取属性类(如果取父类的,则这里 ...
- Web前端性能优化教程05:网站样式和脚本
本文是Web前端性能优化系列文章中的第五篇,主要讲述内容:网站样式和脚本代码的放置位置.使用外部javascript和css.完整教程可查看:Web前端性能优化 一.将样式表放在顶部 可视性回馈的重要 ...
- 由多线程引起的map取值为null的分析
昨天写了一个多线程的程序,却发现了一个很奇特的问题,就是我的map对象明明put了,可是get的时候竟然会取到null,而且尝试多次,有时候成功,有时候取到null,并不确定. 程序代码如下: pub ...
- OPENGL——背面剔除
Opengl 表面剔除是提高 Opengl 程序渲染效率的一个有效途径. 我们知道,OpenGL 渲染的基本单位是一个个的三角形面片.无论多么复杂的3D 模 型都是由一个个基本的三角型的面片组成的. ...
- BZOJ 1116: [POI2008]CLO
1116: [POI2008]CLO Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 922 Solved: 514[Submit][Status][ ...