Tab选项卡切换

article/2025/9/1 6:30:08

Tab选项卡切换

基本代码

HTML代码:

    <div id="notice" class="notice"><!-- 标题--><div id="notice-tit" class="notice-tit"><ul><li><a href="#">公告</a></li><li><a href="#">规则</a></li><li><a href="#">论坛</a></li><li><a href="#">安全</a></li><li class="select"><a href="#">公益</a></li></ul></div><!-- 内容--><div id="notice-con" class="notice-con"><div class="mod" style="display: none"><ul><li><a href="#">张勇:要玩快乐足球</a></li><li><a href="#">阿里2000万驰援灾区!</a></li><li><a href="#">旅游宝让你边玩边赚钱</a></li><li><a href="#">多行跟进阿里信用贷款</a></li></ul></div><div class="mod" style="display: none"><ul><li><a href="#"><span><a href="">[通知]</a></span>“滥发”即将换新</a></li><li><a href="#"><span><a href="">[通知]</a></span>比特币严管啦!</a></li><li><a href="#"><span><a href="">[通知]</a></span>禁发商品名录</a></li><li><a href="#"><span><a href="">[通知]</a></span>商品属性限制</a></li></ul></div><div class="mod" style="display: none"><ul><li><a href="#">个人信息要严管</a></li><li><a href="#">个人信息要严管</a></li><li><a href="#">个人信息要严管</a></li><li><a href="#">个人信息要严管</a></li></ul></div><div class="mod" style="display: none"><ul><li><a href="#">禁发商品名录</a></li><li><a href="#">禁发商品名录</a></li><li><a href="#">禁发商品名录</a></li><li><a href="#">禁发商品名录</a></li></ul></div><div class="mod" style="display: block"><ul><li><a href="#">商品属性限制</a></li><li><a href="#">商品属性限制</a></li><li><a href="#">商品属性限制</a></li><li><a href="#">商品属性限制</a></li></ul></div></div></div>

css效果

*{margin: 0;padding: 0;list-style: none;font-size: 12px;
}.notice{width: 298px;height: 98px;margin: 10px;border: 1px solid #eee;overflow: hidden;
}.notice-tit{height: 27px;position: relative;background: #f7f7f7;
}.notice-tit ul {position: absolute;width: 301px;//边框重合left: -1px;
}.notice-tit ul li{float: left;width: 58px;height: 26px;padding: 0 1px;line-height: 26px;text-align: center;overflow: hidden;background: #f7f7f7;border-bottom: 1px solid #eee;
}/*li选中的样式*/
.notice-tit ul li.select {background: #fff;border-bottom: 1px solid #fff;border-left: 1px solid #eee;border-right: 1px solid #eee;/*去除填充*/padding: 0;font-weight: bolder;
}/*.notice-tit ul li a{*//*display: block;*/
/*}*/.notice ul li a:link, .notice-tit ul li a:visited{text-decoration: none;color: #000;
}/*鼠标滑过颜色的变化*/
.notice ul li a:hover{color: #f90;
}.notice-con .mod{margin: 10px 10px 10px 19px;
}.notice-con .mod ul {overflow: hidden;
}.notice-con .mod ul li{float: left;width: 134px;height: 25px;overflow: hidden;
}

效果如下:
效果

JS效果实现

当鼠标点击或者滑过时切换,JS代码如下:

function $(id) {return typeof id === 'string' ? document.getElementById(id):id;
}
window.onload = function () {//获取鼠标滑过或点击的标签和要切换内容的元素var titles = $('notice-tit').getElementsByTagName('li');var divs = $('notice-con').getElementsByTagName('div');//alert(titles.length);//alert(divs.length);if(titles.length != divs.length){return;}//遍历titles下的所有的lifor(var i=0; i < titles.length; i++){titles[i].id = i;titles[i].onmouseover = function () {//alert(this.id);//清除所有li上的classfor(var j=0; j < titles.length;j++){titles[j].className = '';divs[j].style.display = 'none';}//设置当前为高亮显示this.className = 'select';divs[this.id].style.display = 'block';}}

鼠标滑过延迟切换

window.onload = function () {//点击延迟加载var index = 0;var timer = null;var titles = $('notice-tit').getElementsByTagName('li');var divs = $('notice-con').getElementsByTagName('div');if(titles.length != divs.length){return;}//遍历titles下的所有的lifor(var i=0; i < titles.length; i++){titles[i].id = i;titles[i].onclick = function () {//用that这个变量来引用当前滑过的livar that = this;//如果存在准备执行的定时器,立即清除if(timer){clearTimeout(timer);timer = null;}timer = setTimeout(function () {//清除所有li上的classfor(var j=0; j < titles.length;j++){titles[j].className = '';divs[j].style.display = 'none';}//this当前属于window对象titles[that.id].className = 'select';divs[that.id].style.display = 'block';},500);}}}

自动切换

//自动切换
window.onload = function () {//当前高亮显示的页面的索引var index = 0;var timer = null;//获取所有的页签和要切换的内容var lis = $('notice-tit').getElementsByTagName('li');var divs = $('notice-con').getElementsByTagName('div');//遍历每一个叶签给它们绑定事件for(var i=0;i<lis.length;i++){lis[i].onmouseover = function () {index = this.id;clearInterval(timer);changeOption(this.id);}//鼠标离开事件lis[i].onmouseout = function () {//添加定时器,改变当前高亮的索引timer = setInterval(autoPlay,2000);}}//添加定时器,改变当前高亮的索引if(timer){clearInterval(timer);timer = null;}timer = setInterval(autoPlay,2000);//自动播放function autoPlay(){index++;if(index>=lis.length){index = 0;}changeOption(index);}function changeOption(curIndex){for(var j=0;j<lis.length;j++){lis[j].className = '';divs[j].style.display = 'none';}//高亮显示lis[curIndex].className = 'select';divs[curIndex].style.display = 'block';index = curIndex;}}

其它例子

折叠列表

HTML&CSS
<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><style type="text/css">*{margin:0;padding:0;font-size:13px;list-style:none;}.menu{width:210px;margin:50px auto;border:1px solid #ccc;}.menu p{height:25px;line-height:25px;font-weight:bold;background:#eee;border-bottom:1px solid #ccc;cursor:pointer;padding-left:5px;}.menu div ul{display:none;}.menu li{height:24px;line-height:24px;padding-left:5px;}
</style>
</head>
<body><div class="menu" id="menu"><div><p>Web前端</p><ul style="display:block"><li>JavaScript</li><li>DIV+CSS</li><li>jQuery</li></ul></div><div><p>后台脚本</p><ul><li>PHP</li><li>ASP.net</li><li>JSP</li></ul></div><div><p>前端框架</p><ul><li>Extjs</li><li>Esspress</li><li>YUI</li></ul></div></div>
</body>
</html>

JS代码

    <script type="text/javascript">window.onload=function(){// 将所有点击的标题和要显示隐藏的列表取出来var menu = document.getElementById('menu');var titles = menu.getElementsByTagName('p');var uls = menu.getElementsByTagName('ul');// 遍历所有要点击的标题且给它们添加索引及绑定事件for(var i=0;i<titles.length;i++){titles[i].id = i;titles[i].onclick=function(){var ul = uls[this.id];if(ul.style.display == 'block'){ul.style.display = 'none';}else{ul.style.display = 'block';}}}}</script>

焦点轮播图效果

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><style>*{margin:0;padding:0;list-style:none;}.wrap{height:170px;width:490px;margin:60px auto;overflow: hidden;position: relative;margin:100px auto;}.wrap ul{position:absolute;} .wrap ul li{height:170px;}.wrap ol{position:absolute;right:5px;bottom:10px;}.wrap ol li{height:20px; width: 20px;background:#ccc;border:solid 1px #666;margin-left:5px;color:#000;float:left;line-height:center;text-align:center;cursor:pointer;}.wrap ol .on{background:#E97305;color:#fff;}</style><script type="text/javascript">window.onload=function(){var wrap=document.getElementById('wrap'),pic=document.getElementById('pic'),list=document.getElementById('list').getElementsByTagName('li'),index=0,timer=null;if(timer){clearInterval(timer);timer = null;}timer = setInterval(autoPlay,2000);// 定义并调用自动播放函数function autoPlay(){index++;if(index>=list.length){index = 0;}changeOption(index);}// 定义图片切换函数function changeOption(curIndex){for(var i=0;i<list.length;i++){list[i].className='';}list[curIndex].className='on';pic.style.top = -170*curIndex+'px'; index = curIndex;}// 鼠标划过整个容器时停止自动播放wrap.onmouseover = function(){if(timer){clearInterval(timer);timer = null;}}// 鼠标离开整个容器时继续播放至下一张wrap.onmouseout = function(){timer = setInterval(autoPlay,2000);}// 遍历所有数字导航实现划过切换至对应的图片for(var i=0;i<list.length;i++){list[i].id = i;list[i].onmouseover=function(){changeOption(this.id);}}}</script> 
</head>
<body><div class="wrap" id='wrap'><ul id="pic"><li><img src="http://img.mukewang.com/54111cd9000174cd04900170.jpg" alt=""></li><li><img src="http://img.mukewang.com/54111dac000118af04900170.jpg" alt=""></li><li><img src="http://img.mukewang.com/54111d9c0001998204900170.jpg" alt=""></li><li><img src="http://img.mukewang.com/54111d8a0001f41704900170.jpg" alt=""></li><li><img src="http://img.mukewang.com/54111d7d00018ba604900170.jpg" alt=""></li>    </ul><ol id="list"><li class="on">1</li><li>2</li><li>3</li><li>4</li><li>5</li></ol></div>
</body>
</html>

http://chatgpt.dhexx.cn/article/oACgjcOr.shtml

相关文章

【JS实现tab切换】

JavaScript实现tab切换。 点击科技显示图一, 点击探索显示图二。 body部分&#xff1a; <div class"box"><ul><li class"active">科技</li><li>探索</li></ul><ol><li class"active">科…

Tab页面切换

页面效果如图 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" content"widthdevice-…

Vue实现Tab切换效果

通过Vue实现简单的Tab切换 实现思路是点击上方的标题&#xff0c;下方的内容随之发生改变&#xff0c;上方和下方用的是两个块&#xff0c;是兄弟节点&#xff0c;所以需要点击tab标题和下方内容一一对应&#xff0c;基予两个模块若下标相同是一个内容实现的。Tab切换第一步先…

html的tab切换

离开学还有10天了&#x1f630; 今天再水一篇博客 &#xff08;如图&#xff09; 通过点击来切换tab。 具体思路十分简单&#xff0c;将这些都先包含进一个大的div 先是html部分 <div class"body1"><div class"game"><ul><li>…

Vue实现选项卡切换,tab切换

1、实现tab切换就是 单击一个选项卡显示其对应的内容&#xff0c;且被点击的选项卡改变颜色&#xff0c;下面有两种实现方法&#xff08;都不要忘了vue.js的目录要写正确&#xff09; 2、第一种方法效果图 这个没什么可说的&#xff0c;直接看代码吧&#xff08;两种方式&…

最简单的Tab切换

HTML <div class"main"><div class"btn"><!-- Tab标题 --><span class"active spanList">课程介绍</span><span class"spanList">用户故事</span><span class"spanList">…

简单的tab选项卡切换

Tab选项卡切换 我们在网页上经常能看到的一个现象点击某一文字就会跳转出宁一个页面、而在同一个页面中点击头部内容&#xff0c;主体内容也会随之改变。前者是a 标签所实现的效果&#xff0c;而后者则是tab选项卡的切换。接下来我们一起来看看tab选项卡怎么个切换方法&#x…

前端——tab 栏切换案例

案例 当鼠标点击上面相应的选项卡&#xff08;tab&#xff09;&#xff0c;下面内容跟随变化 分析 Tab栏切换有2个大的模块上面的模块选项卡&#xff0c;点击某一个&#xff0c;当前这一个底色会是红色&#xff0c;其余不变&#xff08;排他思想&#xff09; 修改类名的方式…

tab栏切换

tab栏切换 当鼠标点击上面相应的选项卡(tab)&#xff0c;下面内容也跟随变化。 【案例分析】 1&#xff1a;Tab栏切换与两个大的模块 2&#xff1a;上面的模块选项卡&#xff0c;点击某一个&#xff0c;当前这一个底色会变成红色&#xff0c;其他不变(排它思想) &#xff0c;…

不定积分基本公式

不定积分基本公式

数学公式大全--极限、微分、积分

目录 1 伽马函数 1 2 常用极限公式 1 3 常用导数/微分公式 2 4 常用积分公式 2 4.1 含指数函数的积分 3 4.2 含有对数的积分 4 4.3 含有三角函数的积分 5 4.4 含根号的积分 8 4.5 含有x2a2的积分 9 4.6 含有ax2b的积分 9 4.7 含有ax2bc的积分 10 4.8 含有根号x2a2的积分 11 4.…

【数学-常用公式】基本积分表

【基本积分表】 【基本积分表的扩充】 注&#xff1a;来自《高等数学》&#xff08;第五版&#xff09;上册 同济大学数学系

【数学】定积分计算

目录 1.定义2.定理与性质2.1积分上限函数2.2积分中值定理2.3其它性质与定理 3.做题技巧、题型 1.定义 i f lim ⁡ x → λ ∑ i 1 n f ( ξ i ) △ x i ∃ &#xff0c; 则 f ( x ) 在 [ a , b ] 上 可 积 if \lim_{x \to \lambda} \sum_{i1}^n f(\xi_i)△x_i \exists&#x…

高数:定积分

引入&#xff1a;曲边梯形面积 a和b中两点插入n个点&#xff0c;ax0<x1<x2...xnb&#xff0c;产生n-1个小片段x1-x0&#xff0c; x2-x1...... 取n个区间内某点的函数值&#xff0c;y0&#xff0c;y1&#xff0c;y2...yn 产生多个小长方形面积&#xff0c;sx*y 取为x1…

必记的13个不定积分公式(详细推导)

常见积分公式 前言1 ∫ c s c x d x l n ∣ c s c x − c o t x ∣ C \int cscxdxln|cscx-cotx|C ∫cscxdxln∣cscx−cotx∣C2 ∫ s e c x d x l n ∣ s e c x t a n x ∣ C \int secxdxln|secxtanx|C ∫secxdxln∣secxtanx∣C3 ∫ d x x 2 − a 2 l n ∣ x x 2 − a…

微分和积分数学公式大全

一、极限公式 &#xff08;系数不为0的情况&#xff09; 二、重要公式 三、下列常用等价无穷小关系&#xff08;x->0&#xff09; 四、导数的四则运算法则 五、基本导数公式 六、高阶导数的运算法则 七、基本初等函数的n阶导数公式 八、微分公式与微分运算法则 九、微分运算…