很棒的js选项卡切换效果


Posted in Javascript onJuly 15, 2016

本文实例为大家分享了js实现简单的选项卡切换效果的具体代码,供大家参考,具体内容如下

很棒的js选项卡切换效果

js选项卡切换代码:

<!doctype html>
<html lang="en">
 <head>
 <meta charset="UTF-8">
 <meta name="Generator" content="EditPlus®">
 <meta name="Author" content="">
 <meta name="Keywords" content="">
 <meta name="Description" content="">
 <title>Document</title>
<link rel="stylesheet" type="text/css" href="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 class="tabs" id="tabs">
<h2 class="tabs-nav clearfix">
<a href="javascript:;" class="on">首页</a>
<a href="javascript:;">技术</a>
<a href="javascript:;">生活</a>
<a href="javascript:;">作品</a>
</h2>
<p class="tabs-content">首页首页首页首页首页首页首页首页首页首页</p>
<p class="tabs-content hide">技术技术技术技术技术技术技术技术技术技术</p>
<p class="tabs-content hide">生活生活生活生活生活生活生活生活生活生活</p>
<p class="tabs-content hide">作品作品作品作品作品作品作品作品作品作品</p>
</div>
<br/><br/>
<div class="tabs" id="tabs2">
<h2 class="tabs-nav clearfix">
<a href="javascript:;" class="on">11111</a>
<a href="javascript:;">22222</a>
<a href="javascript:;">33333</a>
</h2>
<p class="tabs-content">11111111111111111111111111111111111</p>
<p class="tabs-content hide">222222222222222222222222222222222222</p>
<p class="tabs-content hide">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> 
 </body>
</html>

Tabs.js

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 = '';
}
}
}

 base.css

@charset "utf-8";
/*
@名称: base
@功能: 重设浏览器默认样式
*/
/* 防止用户自定义背景颜色对网页的影响,添加让用户可以自定义字体 */
html {
color:black;
background:white;
}
/* 内外边距通常让各个浏览器样式的表现位置不同 */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,hr,button,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
margin:0;
padding:0;
}
/* 要注意表单元素并不继承父级 font 的问题 */
body,button,input,select,textarea {
font:12px SimSun,tahoma,arial,sans-serif;
}
input,select,textarea {
font-size:100%;
}
/* 去掉各Table cell 的边距并让其边重合 */
table {
border-collapse:collapse;
border-spacing:0;
}
/* IE bug fixed: th 不继承 text-align*/
th {
text-align:inherit;
}
/* 去除默认边框 */
fieldset,img {
border:none;
}
/* ie6 7 8(q) bug 显示为行内表现 */
iframe {
display:block;
}
/* 去掉 firefox 下此元素的边框 */
abbr,acronym {
border:none;
font-variant:normal;
}
/* 一致的 del 样式 */
del {
text-decoration:line-through;
}
address,caption,cite,code,dfn,em,th,var {
font-style:normal;
font-weight:500;
}
/* 去掉列表前的标识, li 会继承 */
ol,ul {
list-style:none;
}
/* 对齐是排版最重要的因素, 别让什么都居中 */
caption,th {
text-align:left;
}
/* 来自yahoo, 让标题都自定义, 适应多个系统应用 */
h1,h2,h3,h4,h5,h6 {
font-size:100%;
font-weight:500;
}
q:before,q:after {
content:'';
}
/* 统一上标和下标 */
sub, sup {
font-size:75%;
line-height:0;
position:relative;
vertical-align:baseline;
}
sup {
top:-0.5em;
}
sub {
bottom:-0.25em;
}
/* 让链接在 hover 状态下显示下划线 */
a:hover {
text-decoration:underline;
}
/* 默认不显示下划线,保持页面简洁 */
ins,a {
text-decoration:none;
}
/* IE6,7焦点点状线去除 */
a:focus,*:focus {
outline:none;
}
/* 清除浮动 */
.clearfix:before,.clearfix:after {
content:"";
display:table;
}
.clearfix:after {
clear:both;
overflow:hidden;
}
.clearfix {
zoom:1; /* for IE6 IE7 */
}
.clear{
clear:both;
display:block;
overflow:hidden;
height:0;
line-height:0;
font-size:0;
}
/* 设置显示和隐藏, 通常用来与 JS 配合 */
.hide {
display:none !important;
visibility:hidden;
}
.block {
display:block !important;
}
/* 设置内联, 减少浮动带来的bug */
.fl {
float:left;
display:inline;
}
.fr {
float:right;
display:inline;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
热点新闻滚动特效的js代码
Aug 17 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
Nov 14 Javascript
javascript 3d 逐侦产品展示(核心精简)
Mar 26 Javascript
JQuery给元素绑定click事件多次执行的解决方法
May 29 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
May 06 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
Oct 23 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
Dec 07 Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 Javascript
AngularJS 多指令Scope问题的解决
Oct 25 Javascript
详解ES6系列之私有变量的实现
Nov 21 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
May 27 Javascript
vue+element项目中过滤输入框特殊字符小结
Aug 07 Javascript
轻松5句话解决JavaScript的作用域
Jul 15 #Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
Jul 15 #Javascript
IE下JS保存图片的简单实例
Jul 15 #Javascript
jQuery 3.0中存在问题及解决办法
Jul 15 #Javascript
JavaScript6 let 新语法优势介绍
Jul 15 #Javascript
简单实现轮播图效果的实例
Jul 15 #Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
Jul 15 #Javascript
You might like
浅析PHP Socket技术
2013/08/02 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
js实现单一html页面两套css切换代码
2013/04/11 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
vue添加class样式实例讲解
2019/02/12 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
python的几种开发工具介绍
2007/03/07 Python
python中执行shell命令的几个方法小结
2014/09/18 Python
python实现统计代码行数的方法
2015/05/22 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
python去除文件中重复的行实例
2018/06/29 Python
深入浅析Python中的迭代器
2019/06/04 Python
10个Python面试常问的问题(小结)
2019/11/20 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
父亲八十大寿答谢词
2014/01/23 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
golang slice元素去重操作
2021/04/30 Golang
 python中的元类metaclass详情
2022/05/30 Python
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS