手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript实现tabs选项卡切换效果(自写原生js)
javascript实现tabs选项卡切换效果(自写原生js)
摘要:现在的页面上有许多各种各样的页面效果,常用的有弹出层效果,无缝滚动效果,选项卡切换效果。今天分享一款自己用原生javascript写的选项卡...

现在的页面上有许多各种各样的页面效果,常用的有弹出层效果,无缝滚动效果,选项卡切换效果。今天分享一款自己用原生javascript写的选项卡切换效果,由于本人水平有限,如有问题请指出。

效果图如下:

javascript实现tabs选项卡切换效果(自写原生js)1

html代码:

复制代码 代码如下:

<!DOCTYPE HTML>

<html lang="en-US">

<head>

<meta charset="UTF-8">

<title>js-tabs</title>

<link rel="stylesheet" type="text/css" href="css/base.css" media="all"/>

<style type="text/css">

a{color:#a0b3d6;}

.tabs{border:1px solid #a0b3d6;margin:100px;width:300px;}

.tabs-nav a{background:#eaf0fd;line-height:30px;padding:0 20px;display:inline-block;border-right:1px solid #a0b3d6;border-bottom:1px solid #a0b3d6;float:left;}

.tabs-nav .on{background:white;border-bottom:1px solid white;_position:relative;}

.tabs-content{padding:20px;border-top:1px solid #a0b3d6;margin-top:-1px;}

</style>

</head>

<body>

<div id="tabs">

<h2>

<a href="javascript:;">首页</a>

<a href="javascript:;">技术</a>

<a href="javascript:;">生活</a>

<a href="javascript:;">作品</a>

</h2>

<p>首页首页首页首页首页首页首页首页首页首页</p>

<p>技术技术技术技术技术技术技术技术技术技术</p>

<p>生活生活生活生活生活生活生活生活生活生活</p>

<p>作品作品作品作品作品作品作品作品作品作品</p>

</div>

<br/><br/>

<div id="tabs2">

<h2>

<a href="javascript:;">11111</a>

<a href="javascript:;">22222</a>

<a href="javascript:;">33333</a>

</h2>

<p>11111111111111111111111111111111111</p>

<p>222222222222222222222222222222222222</p>

<p>333333333333333333333333333333333333333</p>

</div>

</body>

</html>

<script type="text/javascript" src="tabs.js"></script>

<script type="text/javascript">

window.onload = function(){

tabs('tabs','click');

tabs('tabs2','mouseover');

}

</script>

其中 base.css 参考我的CSS框架——base.css。

javascript 代码:

复制代码 代码如下:

function tabs(id,trigger){

var tabsBtn = document.getElementById(id).getElementsByTagName('h2')[0].getElementsByTagName('a');

var tabsContent = document.getElementById(id).getElementsByTagName('p');

for(var i = 0,len = tabsBtn.length; i < len; i++){

tabsBtn[i].index = i;

if(trigger == 'click'){

tabsBtn[i].onclick = function(){

clearClass();

this.className = 'on';

showContent(this.index);

}

}else if(trigger == 'mouseover'){

tabsBtn[i].onmouseover = function(){

clearClass();

this.className = 'on';

showContent(this.index);

}

}

}

function showContent(n){

for(var i = 0,len = tabsBtn.length; i < len; i++){

tabsContent[i].className = 'hide';

}

tabsContent[n].className = 'tabs-content';

}

function clearClass(){

for(var i = 0,len = tabsBtn.length; i < len; i++){

tabsBtn[i].className = '';

}

}

}

注意:

1、标题如首页、技术、生活和作品是在 h2 标签中。

2、显示当前标题使用 class 名为 on 的类,如果修改成其他 class 的如 selected,就需要修改 tabs.js 中相对应的内容。

3、标题所对应的内容是在 p 标签中。p 标签中不能再有 p 标签。

PS:这是本人闲着无聊,通过自己所学的 javascript 知识,随意写的一些效果。

【javascript实现tabs选项卡切换效果(自写原生js)】相关文章:

javascript实现树形菜单的方法

javascript实现十秒钟后注册按钮可点击的方法

javascript实现仿腾讯游戏选择

Javascript实现每日自动换一张图片的方法

JavaScript实现点击文字切换登录窗口的方法

Javascript实现div层渐隐效果的方法

javascript实现table选中的行以指定颜色高亮显示

jquery实现弹出层效果实例

javascript实现删除前弹出确认框

纯javascript实现四方向文本无缝滚动效果

精品推荐
分类导航