将两个div左右并列显示并实现点击标题切换内容


Posted in Javascript onOctober 22, 2013
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN" xml:lang="zh-CN"> 
<head> 
<title>选项卡</title> 
<style type="text/css"> 
<!-- 
* { margin:0; padding:0; font-size:12px; font-weight:normal; } 
.jj { font-weight:bolder!important; } 
.box { border-top-color:#c00!important; } 
.pr { color:#060!important; } 
#tab01 { position:relative; width:336px; height:88px; padding-top:15px; margin:50px; overflow:hidden; } 
#tab01 h3 { position:relative; z-index:2; float:left; height:14px; padding:0 7px 0 8px; margin-left:-1px; border-left:solid 1px #ccc; border-right:solid 1px #fff; text-align:center; background:#fff; cursor:pointer; } 
#tab01 h3.up { height:18px; padding:5px 7px 0 7px; margin:-6px 0 0 0; border:solid #ccc; border-width:1px 1px 0; color:#c00; } 
#tab01 div { display:none; position:absolute; left:0; top:32px; z-index:1; width:324px; height:54px; padding:5px; border:solid 1px #ccc; color:#666; } 
#tab01 div.up { display:block; } 
#tab02 { position:relative; width:200px; margin:50px; border:solid #ccc; border-width:0 1px 1px; } 
#tab02 h4 { height:18px; line-height:18px; border:solid #ccc; border-width:1px 0; margin-bottom:-1px; text-align:center; background:#f6f6f6; cursor:pointer; } 
#tab02 h4.up { color:#c00; } 
#tab02 ol { display:none; height:54px; padding:5px; color:#666; } 
#tab02 ol.up { display:block; } 
#tab03 { position:relative; width:100px; margin:50px; } 
#tab03 h3 { position:relative; z-index:1; height:16px; padding-top:4px; margin-bottom:-1px; border:solid #ccc; border-width:1px 0 1px 1px; text-align:center; font-family:宋体; background:#eee; cursor:pointer; } 
#tab03 h3.up { z-index:3; color:#c00; background:#fff; } 
#tab03 div.tab { display:none; position:absolute; left:99px; top:0; z-index:2; width:300px; height:200px; padding:5px; border:solid 1px #ccc; color:#666; } 
#tab03 div.tab.up { display:block; } 
--> 
</style> 
</head> 
<body> 
<div id="tab01"> 
<h3>首页</h3> 
<div class="jj"><p>嘿嘿,无视div原始class值。</p></div> 
<h3 class="pr">测试</h3> 
<div><p>继续无视h3原始class值。</p></div> 
<h3>无聊</h3> 
<div><p>h3没有值也可以~</p></div> 
<h3 class="box">傻蛋</h3> 
<div><p>div没有值一样可以~</p></div> 
</div> 
<div id="tab02"> 
<h4>首页</h4> 
<ol class="pr"><li>嘿嘿,无视容器原始class值。</li></ol> 
<h4 class="box">测试</h4> 
<ol><li>继续无视h3原始class值。</li></ol> 
<h4>无聊</h4> 
<ol><li>h3没有值也可以~</li></ol> 
<h4 class="bb">傻蛋</h4> 
<ol><li>div没有值一样可以~</li></ol> 
</div> 
<div id="tab03"> 
<h3>首页</h3> 
<div class="tab"><p>嘿嘿,无视h3原始class值。</p></div> 
<h3>测试</h3> 
<div class="tab wushi"><p>继续无视div原始class值。</p></div> 
<h3>无聊</h3> 
<div class="tab"><p>h3没有值也可以~</p></div> 
<h3 class="box">傻蛋</h3> 
<div class="tab tab123"><p>class值相似一样也可以~</p><div><p>指定class后,即时再多一个div也行。</p></div></div> 
</div> 
<script type="text/javascript"> 
<!-- 
function Pid(id,tag){ 
if(!tag){ 
return document.getElementById(id); 
} 
else{ 
return document.getElementById(id).getElementsByTagName(tag); 
} 
} function tab(id,hx,box,iClass,s,pr){ 
var hxs=Pid(id,hx); 
var boxs=Pid(id,box); 
if(!iClass){ // 如果不指定class,则: 
boxsClass=boxs; // 直接使用box作为容器 
} 
else{ // 如果指定class,则: 
var boxsClass = []; 
for(i=0;i<boxs.length;i++){ 
if(boxs[i].className.match(/\btab\b/)){// 判断容器的class匹配 
boxsClass.push(boxs[i]); 
} 
} 
} 
if(!pr){ // 如果不指定预展开容器,则: 
go_to(0); // 默认展开序列 
yy(); 
} 
else { 
go_to(pr); 
yy(); 
} 
function yy(){ 
for(var i=0;i<hxs.length;i++){ 
hxs[i].temp=i; 
if(!s){// 如果不指定事件,则: 
s="onmouseover"; // 使用默认事件 
hxs[i][s]=function(){ 
go_to(this.temp); 
} 
} 
else{ 
hxs[i][s]=function(){ 
go_to(this.temp); 
} 
} 
} 
} 
function go_to(pr){ 
for(var i=0;i<hxs.length;i++){ 
if(!hxs[i].tmpClass){ 
hxs[i].tmpClass=hxs[i].className+=" "; 
boxsClass[i].tmpClass=boxsClass[i].className+=" "; 
} 
if(pr==i){ 
hxs[i].className+=" up"; // 展开状态:标题 
boxsClass[i].className+=" up"; // 展开状态:容器 
} 
else { 
hxs[i].className=hxs[i].tmpClass; 
boxsClass[i].className=boxsClass[i].tmpClass; 
} 
} 
} 
} 
tab("tab01","h3","div","","onclick",2); tab("tab02","h4","ol");tab("tab03","h3","div","tab"); 
//--> 
</script> 
</body> 
</html>
Javascript 相关文章推荐
js表数据排序 sort table data
Feb 18 Javascript
HTML代码中标签的全部属性 中文注释说明
Mar 26 Javascript
不使用浏览器运行javascript代码的方法
Jul 24 Javascript
jquery()函数的三种语法介绍
Oct 09 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
Mar 26 Javascript
JS实现的网页背景闪电闪烁效果代码
Oct 17 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
Aug 08 Javascript
微信小程序 教程之列表渲染
Oct 18 Javascript
深入理解ES6中let和闭包
Feb 22 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
Mar 17 Javascript
vue axios整合使用全攻略
May 24 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
Jun 21 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
Oct 22 #Javascript
js单例模式的两种方案
Oct 22 #Javascript
JavaScript中“过于”犀利地for/in循环使用示例
Oct 22 #Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
Oct 22 #Javascript
Javascript实现真实字符串剩余字数提示的实例代码
Oct 22 #Javascript
用js的for循环获取radio选中的值
Oct 21 #Javascript
将input file的选择的文件清空的两种解决方案
Oct 21 #Javascript
You might like
桌面中心(二)数据库写入
2006/10/09 PHP
php 函数使用方法与函数定义方法
2010/05/09 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
KMP算法精解及其Python版的代码示例
2016/06/01 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
python 动态调用函数实例解析
2019/10/21 Python
Python turtle库的画笔控制说明
2020/06/28 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
为世界各地的女性设计和生产时尚服装:ROMWE
2016/09/17 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
do you have any Best Practice for testing
2016/06/04 面试题
程序员经常用到的UNIX命令
2015/04/13 面试题
网站推广策划方案
2014/06/04 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
文明单位创建材料
2014/12/24 职场文书
新学期感想
2015/08/10 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
Python中递归以及递归遍历目录详解
2021/10/24 Python
一文教你快速生成MySQL数据库关系图
2022/06/28 Redis
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers