将两个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 相关文章推荐
浅谈checkbox的一些操作(实战经验)
Nov 20 Javascript
浅谈JavaScript 框架分类
Nov 10 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
三个js循环的关键字示例(for与while)
Feb 16 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
Apr 19 Javascript
Bootstrap导航条鼠标悬停下拉菜单
Jan 04 Javascript
jQuery居中元素scrollleft计算方法示例
Jan 16 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
Jan 03 Javascript
原来JS还可以这样拆箱转换详解
Feb 01 Javascript
微信小程序实现录音时的麦克风动画效果实例
May 18 Javascript
vue项目实现多语言切换的思路
Sep 17 Javascript
详解jQuery的核心函数和事件处理
Feb 18 jQuery
简单漂亮的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
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
Javascript中的var_dump函数实现代码
2009/09/07 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
Bootstrap每天必学之按钮(Button)插件
2016/04/25 Javascript
微信小程序开发探究
2016/12/27 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
在Django中使用Sitemap的方法讲解
2015/07/22 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
Python多继承原理与用法示例
2018/08/23 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
django创建超级用户过程解析
2019/09/18 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
2020/05/18 Python
python 装饰器的使用示例
2020/10/10 Python
HTML5有哪些新特征
2015/12/01 HTML / CSS
计算s=f(f(-1.4))的值
2014/05/06 面试题
求职信模版
2013/11/30 职场文书
致1500米运动员广播稿
2014/02/07 职场文书
餐饮营销方案
2014/02/23 职场文书
房屋租赁协议书
2014/04/10 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
个人向公司借款协议书
2016/03/19 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers