<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
#content_main_top{
height: 80px;
line-height: 80px;
text-align: center;
border-bottom:1px solid #888888;
}
#content_main_top input{
padding:10px 15px;
margin-left: 5px;
background-color: #2B2B2B;
color: #FFFFFF;
outline: none;
border:none;
}
ul{
list-style: none;
}
li{
float:left;
padding:30px 40px;
}
img{
width:200px;
height:150px;
}
.show{display: block;}
.hide{display: none;}
</style>
</head>
<body>
<div id="content_main_top">
<input type="button" name="btn" class="btn1" value="全部" />
<input type="button" name="btn" class="btn2" value="建站案例" />
<input type="button" name="btn" class="btn3" value="应用案例" />
<input type="button" name="btn" class="btn4" value="运维案例" />
<ul>
<li><img src="img/33.jpg"/></li>
<li><img src="img/img/12.jpg"/></li>
<li><img src="img/img/25.jpg"/></li>
<li><img src="img/img/39.jpg"/></li>
</ul>
<ul class="hide">
<li><img src="img/33.jpg"/></li>
<li><img src="img/img/12.jpg"/></li>
</ul>
<ul class="hide">
<li><img src="img/33.jpg"/></li>
<li><img src="img/img/12.jpg"/></li>
<li><img src="img/img/39.jpg"/></li>
</ul>
<ul class="hide">
<li><img src="img/33.jpg"/></li>
</ul>
</div>

<script type="text/javascript">
//方法一:面向过程的选项卡
/* window.onload=function (){
var Abtn=document.getElementById("content_main_top");
var Bbtn=Abtn.getElementsByTagName("input");
var imgboxlist=Abtn.getElementsByTagName("ul");
for(var i=0;i<Bbtn.length;i++){
Bbtn[i].index=i;
Bbtn[i].onclick=function(){
for(var j = 0; j< imgboxlist.length; j++) {
imgboxlist[j].className = "hide";
}
imgboxlist[this.index].className = "show";
}
}
}*/

// 方法二:面向对象的选项卡,实现对代码的可复用性
function TabSwitch(id){
var _this=this;
var Abtn=document.getElementById(id);
this.Bbtn=Abtn.getElementsByTagName("input");
this.imgboxlist=Abtn.getElementsByTagName("ul");
for(var i=0;i<this.Bbtn.length;i++){
this.Bbtn[i].index=i;
this.Bbtn[i].onclick=function(){
_this.fnclick(this);
};
}
}
TabSwitch.prototype.fnclick=function(oo){
// alert(this);
for(var j = 0; j<this.imgboxlist.length; j++) {
this.imgboxlist[j].className = "hide";
}
this.imgboxlist[oo.index].className = "show";
}
new TabSwitch("content_main_top");
</script>
</body>
</html>

面向对象和面向过程的js版选项卡的更多相关文章

  1. 面向对象和面向过程的jquery版选项卡

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src ...

  2. JS高级---体会面向对象和面向过程的编程思想

    体会面向对象和面向过程的编程思想 ChangeStyle是自定义的构造函数,再通过原型添加方法的函数. 实例化对象,导入json参数,和创建cs,调用原型添加的方法函数 过渡,先熟悉记忆 <!D ...

  3. 大话JS面向对象之扩展篇 面向对象与面向过程之间的博弈论(OO Vs 过程)------(一个简单的实例引发的沉思)

    一,总体概要 1,笔者浅谈 我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭(面向对象式编程因为引入了类.对象.实例等概念,非常贴合人类对于世间万物的认 ...

  4. 面向对象与面向过程 $this的注意事项和魔术方法set和get

    一.面向对象与面向过程的区别: 二者都是一种思想,面向对象是相对于面向过程而言的.面向过程,强调的是功能行为.面向对象,将功能封装进对象,强调具备了功能的对象.面向对象更加强调运用人类在日常的思维逻辑 ...

  5. JavaSE——面向对象与面向过程、类与对象、(属性、方法、构造器)等

    一:面向对象与面向过程 二者都是一种思想,面向对象是相对于面向过程而言的. 面向过程: 1.面向过程思想强调的是过程(动作). 2.在面向过程的开发中,其实就是面向着具体的每一个步骤和过程,把每一个步 ...

  6. Java基础知识强化20:面向对象和面向过程的思想对比

    面向对象与面向过程的区别  1. 与面向对象编程思想相比较的,往往是面向过程的编程思想,其实在我来理解,两者并不冲突,原因是面向对象的编程也必须使用面向过程的思维来实现具体的功能,所以我认为,两者的区 ...

  7. python的面向对象和面向过程

    一.面向对象和面向过程的区别: a.面向过程: 1)根据业务逻辑从上到下写代码 2)开发思路是将数据和函数按照执行的逻辑顺序组织在一起 3)分开考虑数据与函数 定义性文字: 面向对象编程(Object ...

  8. 面向对象和面向过程,python中的类class,python中程序的入口——main方法,

    1.程序入口,让main显现出来: print(__name__)#__name___是模块中的隐藏字段,当前模块运行的函数名 if __name__ == __main__ __main__() # ...

  9. PHP面向对象和面向过程

    编程界不论是PHP.Python都有这么两种编程思想,oop面向对象.pop面向过程,这两种在功能上没有多大区别,但是在代码编写上却有很大区别.今天就记录一下面向对象和面向过程的优点.缺点.定义.实现 ...

随机推荐

  1. 一句话知识:如何解决winform自动缩放产生的布局问题.

    转自http://www.cnblogs.com/KenBlove/articles/1281823.html有时候你会发现本来好好的WinForm程序在别的机器上显示的尺寸就不对了.这些问题主要发生 ...

  2. GitHub学习心得之 简单操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 前言 本文对Github的基本操作进行了总结, 主要基于以下文章: http://gitre ...

  3. android滚动公告栏

    项目里要用到开奖公告,单行显示向上滚动的TextView,网上随便找了一个控件发现效果还不错改装一下就可以用到项目里.唯一不妥的地方就是字体大小不太好控制,不是正常的字体大小,也没有深究代码,先把工作 ...

  4. centos7安装vncserver

    :# yum install tigervnc-server -y :cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vnc ...

  5. SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

    需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监 ...

  6. sql server: sql script

    select ProductGUID,ProductName,ProjectGUID from dbo.Product /* F637A079-E22B-4E50-87E9-000147B1B1F4 ...

  7. Form 引用方法库

    进入注册表,win+R 输入:regedit,找到HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE ,在右侧找到:FORMS60_PATH,双击,把方法库的路径以英 ...

  8. 安装Ubuntu的那些事儿(续)

    由于我的第一篇Blog并没有给出完全解决进Ubuntu系统时显卡所造成的问题,至于那个装显卡驱动的方法本人也没有去做,感兴趣的朋友可以在网上教程试一试. 至于我的那个在高系选项中进行配置也不是好的方法 ...

  9. openstack想说爱你不容易

    网上一牛人的博客专门写的是关于openstack的,看晕了.先收藏下.猛击下面的地址 http://www.cnblogs.com/popsuper1982/

  10. 识别 Linux上的设备(磁盘)类型

    1. Linux 上的设备 (device) Linux 操作系统中,各种设备驱动(device driver)通过设备控制器(device controller)来管理各种设备(device),其关 ...