纯css+js写的一个简单的tab标签页带样式

 更新时间:2014年01月28日 15:31:21   作者:  
最近经常要用tab标签页,于是就写了一个简单的tab标签页,纯css+js写的,带样式。大家可以参考下
最近经常要用tab标签页,所以写了一个简单的,以后用的话直接拷贝一个,稍微改改就OK了。

先看效果图:
 
接下来看下代码怎么写的吧:

一、sp文件easytab.jsp
复制代码 代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'tab.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

<link rel="stylesheet" type="text/css" href="<%=path%>/resources/easytab/css/grey.css">
<script src="<%=path%>/resources/easytab/js/easytab.js" type="text/javascript"></script>
</head>

<body>
<div class="easytab_area">
<ul class="easytabs">
<li><a name="easytab" class="easytab_active" onclick="tabSwitch2(this,'easytab_content_',0);">诗词</a></li>
<li><a name="easytab" onclick="tabSwitch2(this,'easytab_content_',1);">百度</a></li>
<li><a name="easytab" onclick="tabSwitch2(this,'easytab_content_',2);">360搜索</a></li>
</ul>

<div id="easytab_content_0" class="easytab_content">
<div style="color:#78bbaf;font-size:14px;">诗词名句“采菊东篱下,悠然见南山。”出自晋代诗人陶渊明的《饮酒》</div>
<div style="color:blue;font-size:16px;font-weight: bold;"> 饮酒</div>
<div style="color:blue;font-size:16px;font-weight: bold;">结庐在人境,而无车马喧。</div>
<div style="color:blue;font-size:16px;font-weight: bold;">问君何能尔?心远地自偏。</div>
<div style="color:blue;font-size:16px;font-weight: bold;">采菊东篱下,悠然见南山。</div>
<div style="color:blue;font-size:16px;font-weight: bold;">山气日夕佳,飞鸟相与还。</div>
<div style="color:blue;font-size:16px;font-weight: bold;">此中有真意,欲辨已忘言。</div>
<div style="color:#00aaff;font-size:15px;">
作品赏析:
“采菊东篱下,悠然见南山”,这是千年以来脍炙人口的名句。
因为有了“心远地自偏”的精神境界,才会悠闲地在篱下采菊,
抬头见山,是那样地怡然自得,那样地超凡脱俗!
这两句以客观景物的描写衬托出诗人的闲适心情,“悠然”二字用得很妙,
说明诗人所见所感,非有意寻求,而是不期而遇。
苏东坡对这两句颇为称道:“采菊之次,偶然见山,初不用意,而境与意会,故可喜也。”
“见”字也用得极妙,“见”是无意中的偶见,南山的美景正好与采菊时悠然自得的心境相映衬,合成物我两忘的“无我之境”。
如果用“望”字,便是心中先有南山,才有意去望,成了“有我之境”,就失去了一种忘机的天真意趣。
南山究竟有什么胜景,致使诗人如此赞美呢?
接下去就是“山气日夕佳,飞鸟相与还”,这也是诗人无意中看见的景色,
在南山那美好的黄昏景色中,飞鸟结伴飞返山林,万物自由自在,适性而动,
正像诗人摆脱官场束缚,悠然自在,诗人在这里悟出了自然界和人生的真谛。
“此中有真意,欲辨已忘言。”诗人从这大自然的飞鸟、南山、夕阳、秋菊中悟出了什么真意呢?
是万物运转、各得其所的自然法则吗?是对远古纯朴自足的理想社会的向往吗?是任其自然的人生哲理吗?
是直率真挚的品格吗?诗人都没有明确地表示,只是含蓄地提出问题,让读者去思考,而他则“欲辨己忘言”。
如果结合前面“结庐在人境,而无车马喧”来理解,“真意”我们可以理解为人生的真正意义,
那就是人生不应该汲汲于名利,不应该被官场的龌龊玷污了自己自然的天性,而应该回到自然中去,去欣赏大自然的无限清新和生机勃勃!
当然,这个“真意”的内涵很大,作者没有全部说出来,也无须说出来,这两句哲理性的小结给读者以言已尽而意无穷的想象余地,令人回味无穷。
</div>
</div>
<div id="easytab_content_1" class="easytab_content">
<iframe width="100%" height="100%" frameborder="0" scrolling="auto" src="http://www.baidu.com"></iframe>
</div>
<div id="easytab_content_2" class="easytab_content">
<iframe width="100%" height="100%" frameborder="0" scrolling="auto" src="http://www.so.com"></iframe>
</div>
</div>
<script type="text/javascript">
document.getElementsByName("easytab")[0].click();//页面加载完成后,点击第一个标签
</script>
</body>
</html>

二、样式文件grey.css
复制代码 代码如下:

body {
background-color:#ccc;
margin:40px;
}
.easytab_area {
border:1px solid #494e52;
background-color:#636d76;
padding:8px;
}
ul.easytabs {
margin:16px 0;
padding:0 0 0 1px;
}
ul.easytabs li {
list-style:none;
display:inline;
}
ul.easytabs li a {
background-color:#464c54;
color:#ffebb5;
padding:16px 14px;
text-decoration:none;
font-size:14px;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-weight:bold;
border:1px solid #464c54;
}
ul.easytabs li a:hover {
background-color:#2f343a;
border-color:#2f343a;
}
ul.easytabs li a.easytab_active {
background-color:#ffffff;
color:#282e32;
border:1px solid #464c54;
border-bottom: 2px solid #ffffff;
}
.easytab_content {
background-color:#ffffff;
padding:10px;
height:400px;
}

三、js文件easytab.js
复制代码 代码如下:

/**
*
* @param _this 所点击的tab标签
* @param content_prefix tab标签所对应div的id前缀。注:这里要求所有的前缀必须一样。
* @param active 所要激活div的id最后的数字。注:这里要求数字必须从零开始,依次增1.
*/
function tabSwitch2(_this,content_prefix,active) {
var tabs = document.getElementsByName(_this.name);
var number = tabs.length;
for (var i=0; i < number; i++) {
var tab = tabs[i];
tab.className = "";
document.getElementById(content_prefix+i).style.display = 'none';
}
_this.className = "easytab_active";
document.getElementById(content_prefix+active).style.display = 'block';
}

就是以上这些了。最后总结一下:

一、样式还可以优化,比如加一些背景图片。
二、这里的tab标签是一次加载所有tab页,然后,点击哪个tab页就显示哪个,其它的隐藏。其实可以把tab页的内容都设置为iframe,然后动态给其设置src的值,就可以达到点哪个就刷新哪个内容了。

相关文章

  • Javascript尾递归编程的实现

    Javascript尾递归编程的实现

    本文主要介绍了Javascript尾递归编程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 完美的js图片轮换效果

    完美的js图片轮换效果

    这篇文章主要为大家详细介绍了完美的js图片轮换效果,包括左右移动和缓动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • JS设计模式之命令模式概念与用法分析

    JS设计模式之命令模式概念与用法分析

    这篇文章主要介绍了JS设计模式之命令模式概念与用法,简单描述了命令模式的原理、功能并结合javascript实例形式分析了命令模式相关定义与使用技巧,需要的朋友可以参考下
    2018-02-02
  • JS实现自定义简单网页软键盘效果代码

    JS实现自定义简单网页软键盘效果代码

    这篇文章主要介绍了JS实现自定义简单网页软键盘效果代码,可实现简单模拟键盘布局及响应鼠标点击按下键盘按键功能,简单实用,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • 详解JavaScript对象的深浅复制

    详解JavaScript对象的深浅复制

    从层次上来看,对象的复制可以简单地分为浅复制和深复制,顾名思义,浅复制是指只复制一层对象的属性,不会复制对象中的对象的属性,对象的深复制会复制对象中层层嵌套的对象的属性。本文是我在复制对象方面的一些心得总结,由浅复制到深复制,感兴趣的朋友一起学习吧
    2017-03-03
  • js控制文本框只输入数字和小数点的方法

    js控制文本框只输入数字和小数点的方法

    这篇文章主要介绍了js控制文本框只输入数字和小数点的方法,实例分析了javascript使用正则表达式实现限制数字和小数点的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 基于javascript实现碰撞检测

    基于javascript实现碰撞检测

    这篇文章主要为大家详细介绍了基于javascript实现碰撞检测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 前端Echarts自适应分辨率和缩放功能代码实例

    前端Echarts自适应分辨率和缩放功能代码实例

    ECharts提供了自适应功能,可以自动调整图表大小以适应屏幕变化,下面这篇文章主要给大家介绍了关于前端Echarts自适应分辨率和缩放功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • 拆开JavaScript迭代器模式内部黑盒子

    拆开JavaScript迭代器模式内部黑盒子

    这篇文章主要为大家介绍了JavaScript迭代器模式内部黑盒子解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • JavaScript数组类型Array相关的属性与方法详解

    JavaScript数组类型Array相关的属性与方法详解

    这篇文章主要给大家介绍了关于JavaScript数组类型Array相关的属性与方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论