很棒的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 相关文章推荐
JAVASCRIPT 对象的创建与使用
Mar 09 Javascript
javascript下function声明一些小结
Dec 28 Javascript
读jQuery之六 缓存数据功能介绍
Jun 21 Javascript
JS可以控制样式的名称写法一览
Jan 16 Javascript
js 操作符汇总
Nov 08 Javascript
javascript自定义滚动条实现代码
Apr 20 Javascript
简单掌握JavaScript中const声明常量与变量的用法
May 21 Javascript
JavaScript中省略元素对数组长度的影响
Oct 26 Javascript
js 倒计时(高效率服务器时间同步)
Sep 12 Javascript
vue中设置、获取、删除cookie的方法
Sep 21 Javascript
node和vue实现商城用户地址模块
Dec 05 Javascript
Javascript基于OOP实实现探测器功能代码实例
Aug 26 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
3.从实例开始
2006/10/09 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
ES6扩展运算符用法实例分析
2017/10/31 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
Vue插件之滑动验证码
2019/09/21 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
Python get获取页面cookie代码实例
2018/09/12 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
医院竞聘演讲稿
2014/05/16 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
助学贷款贫困证明
2014/09/23 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
文明班级申报材料
2014/12/24 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis