JavaScript 实现自动切换 Tab 菜单代码
作者:拾光时间:2026-10-29 14:46:05浏览:521
本文分享一段基于 JavaScript 实现的自动变换菜单效果代码。该示例由原有的自动 Tab 功能修改而来,核心包含控制 Tab 自动切换的 JS 函数。通过鼠标悬停与离开事件触发定时器,实现选项卡的自动轮播。
JavaScript 自动切换菜单实现
本文介绍一种使用 JavaScript 实现的自动变换菜单效果,供开发者参考。
这是一个支持自动切换的 JS 菜单组件,基于原有的自动 Tab 功能修改而成。代码中封装了几个关键函数,用于控制 Tab 栏目的自动轮播切换逻辑。
运行效果截图如下:

在线演示地址如下:
http://demo.jb51.net/js/2015/js-auto-cha-menu-codes/
具体代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>简洁Tab</title>
<style type="text/css">
<!--
body, div, ul, li {padding:0;text-align:center;}
body {font:12px "宋体";text-align:center;}
a:link {color:#00F;text-decoration:none;}
a:visited {color: #00F;text-decoration:none;}
a:hover {color: #c00;text-decoration:underline;}
ul {list-style:none;}
/*选项卡1*/
#Tab1 {width:900px;margin:0px;padding:0px;margin:0 auto;}
/*菜单class*/
.Menubox {width:100%;background:url();height:28px;line-height:28px;}
.Menubox ul {margin:0px;padding:0px;}
.Menubox li {float:left;display:block;cursor:pointer;width:114px;text-align:center;color:#949694;font-weight:bold;}
.Menubox li.hover {padding:0px;background:#fff;width:116px;border-left:1px solid #A8C29F;border-top:1px solid #A8C29F;border-right:1px solid #A8C29F;background:url
();color:#739242;font-weight:bold;height:27px;line-height:27px;}
.Contentbox {clear:both;margin-top:0px;border:1px solid #A8C29F;border-top:none;height:181px;text-align:center;padding-top:8px;}
-->
</style>
</head>
<body>
<br>
<br>
<div id="Tab1">
<div class="Menubox">
<ul>
<li id="one0" onmouseover="setTab('one',0,7)" class="hover">新闻1</li>
<li id="one1" onmouseover="setTab('one',1,7)" >新闻2</li>
<li id="one2" onmouseover="setTab('one',2,7)">新闻3</li>
<li id="one3" onmouseover="setTab('one',3,7)">新闻4</li>
<li id="one4" onmouseover="setTab('one',4,7)">新闻5</li>
<li id="one5" onmouseover="setTab('one',5,7)">新闻6</li>
<li id="one6" onmouseover="setTab('one',6,7)">新闻7</li>
</ul>
</div>
</div>
<br>
<script>
<!--
/*第一种形式 第二种形式 更换显示样式*/
var index;
function setTab(name,cursel,n){
for(var i=0;i<n;i++){
var menu=document.getElementById(name+i);
menu.className=i==cursel?"hover":"";
if (menu.className=="hover")
index=i;
}
}
var num=0;
var AutoPlayObj=null;
function d()
{
setTab('one',num%7,7);
num++;
}
function AutoPlay()
{
clearInterval(AutoPlayObj);
AutoPlayObj=setInterval('d()',1000)
};
AutoPlay();
var tab1 = document.getElementById("Tab1");
tab1.onmouseover = function (){
num=index;
clearInterval(AutoPlayObj);
}
tab1.onmouseout = function(){AutoPlay();}
//-->
</script>
</body>
</html>
希望本文所述对大家的JavaScript程序设计有所帮助。
作者最新文章
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
