精通javascript笔记(智能社)——简易tab选项卡及应用面向对象方法实现
javascript代码(常规方式/面向过程):
<script type="text/javascript">
window.onload=function(){
var oDiv1=document.getElementById('div1'); //获取外部div
var aLis=oDiv1.getElementsByTagName('li'); //通过外部div获取li切换标签
var aDivs=oDiv1.getElementsByTagName('div'); //通过外部div获取tab标签对应的div内容 for(var i=0; i<aLis.length;i++){
aLis[i].index=i; //为li切换标签添加一个自定义index属性
aLis[i].onmouseover=function(){
for(var j=0; j<aLis.length;j++){ //初始化所有li及内部div样式
aLis[j].className=' ';
aDivs[j].style.display='none';
}
this.className='currentLi'; //为当前li添加currentLis样式
aDivs[this.index].style.display='block'; //让当前li所对应的div显示
}
}
}
</script>
javascript代码(面向对象方式):
window.onload=function(){
new tabSwitch('div1');
}
var aLis=null;
var aDivs=null;
function tabSwitch(id){
var _this=this;
var oDiv1=document.getElementById(id);
this.aLis=oDiv1.getElementsByTagName('li');
this.aDivs=oDiv1.getElementsByTagName('div');
for(var i=0; i<this.aLis.length;i++){
this.aLis[i].index=i;
this.aLis[i].onmouseover=function(){
_this.tabs(this); //通过_this指向div1而不是当前的aLis[i]对象,这里面的this指向的是aLis[i]对象
}
}
}
tabSwitch.prototype.tabs=function(oLi){
for(var j=0; j<this.aLis.length;j++){
this.aLis[j].className='';
this.aDivs[j].style.display='none';
}
oLi.className='currentLi';
this.aDivs[oLi.index].style.display='block';
}
简易HTML代码:
<div id="div1">
<ul>
<li class="currentLi">tabs01</li>
<li>tabs02</li>
<li>tabs03</li>
<li>tabs04</li>
<li>tabs05</li>
</ul>
<div style="display:block;">tabs01对应内容</div>
<div>tabs02对应内容tabs02对应内容</div>
<div>tabs03对应内容tabs03对应内容tabs03对应内容</div>
<div>tabs04对应内容tabs04对应内容tabs04对应内容tabs04对应内容</div>
<div>tabs05对应内容tabs05对应内容tabs05对应内容tabs05对应内容tabs05对应内容</div>
</div>
简易css代码:
*{ margin:0; padding:0;}
#div1{ margin-top:60px; margin-left:60px;}
#div1 ul{ list-style:none;}
#div1 ul li{ border-bottom:solid 1px #dcdcdc; float:left; margin-right:15px; display:block; height:30px; line-height:30px; text-align:center; padding:5px 10px; background-color:#f6f6f6; cursor:pointer;}
.currentLi{ background-color:#dcdcdc!important;}
#div1 div{ width:360px; background-color:#f6f6f6; height:100px; padding: 60px 20px;display:none;}
精通javascript笔记(智能社)——简易tab选项卡及应用面向对象方法实现的更多相关文章
- 精通javascript笔记(智能社)——数字时钟
JS代码: <script type="text/javascript"> window.onload=function(){ //小于10的数字补零及数字转字符 ...
- [Effective JavaScript 笔记]第34条:在原型中存储方法
js中完全有可能不借助原型进行编程.不用在其原型中定义任何的方法. 创建对象 构造函数法 所有属性和方法都在构造函数中定义 function User(name,pwd){ this.name=nam ...
- javascript笔记07:使用Object类为实例定义方法和属性
function Person() {} Person.prototype = { nickName:"john", , showInfo:function() { return ...
- <精通JavaScript>---阅读笔记01
下面是阅读精通JavaScript书做的相关笔记. JS中的函数重载 函数重载必须依赖两件事情:判断传入参数数量的能力和判断传入参数类型的能力,在js中每个函数都带有一个仅在这个函数范围内作用的变量, ...
- JavaScript学习--(智能社视频)
JavaScript学习,这是智能社官网上的JS视频,讲解的挺不错的,就是没有视频的demo,在视频中附上自己编写的一些demo... 下载地址:http://pan.baidu.com/s/1cPz ...
- 可轮播滚动的Tab选项卡
前段时间有试着搭建个后台主题ui框架,有用到可支持滚动的Tab选项卡,模仿着H+后台主题ui框架中的代码造轮子改造了下,可惜代码在公司,不能把代码外发出来(感觉这样被限制了很多,对于这样的公司没办法, ...
- js基础练习一之tab选项卡
最近在学习前端,当然包括js,css,html什么的,在听课时做的一些小练习,记录下来: 实例一: --Tab选项卡-- <script type="text/javascript&q ...
- 原生js实现tab选项卡里内嵌图片滚动特效代码
<!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8&quo ...
- 下拉菜单效果和tab选项卡切换
//下拉菜单效果和tab选项卡切换. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
随机推荐
- 集成运放输入电压范围指标参数Uicmax,Uidmax
图中Uicmax最大共模输入电压:是运放能正常工作下的最大输入电压: Uidmax最大差模输入电压:是运放要损坏的最大输入电压
- LeetCode:21. Merge Two Sorted Lists(Easy)
1. 原题链接 https://leetcode.com/problems/merge-two-sorted-lists/description/ 2. 题目要求 给出两个已经从小到大排序的链表ls1 ...
- RTSC和XDCTool的理解
1. 在使用TI的开发工具CCS中,里面有几个重要的概念,一直不太清晰,RTSC是什么,XDCTool是什么?包是什么?包的版本为啥都是4位的(比如mathlib_c66x_3_0_1_1)?star ...
- sqlserver一次性删除master数据库中的所有用户添加的表
use master; go sp_msforeachtable @command1="drop table ?" go
- QC的使用学习(二)
今日学习清单: 1.Quality Center中左上角选项中(QC 10.0中文版)工具菜单下的自定义中的几个内容,有:用户属性.组.项目用户.模块访问.需求类型.项目列表等.用户属性打开后是对当 ...
- 1107 Social Clusters (30 分)(并查集)
并查集的基本应用 #include<bits/stdc++.h> using namespace std; ; vector<int>vec[N]; int p[N]; con ...
- 学习人工智能的第五个月[字典学习[Dictionary Learning,DL]]
摘要: 大白话解释字典学习,分享第五个月的学习过程,人生感悟,最后是自问自答. 目录: 1.字典学习(Dictionary Learning,DL) 2.学习过程 3.自问自答 内容: 1.字典学习( ...
- Window.open()方法参数详解总结(转)
1, 最基本的弹出窗口代码 window.open('page.html'); 2, 经过设置后的弹出窗口 window.open('page.html', 'newwindow', 'hei ...
- 最短路径——Bellman-Ford算法
一.相关定义 最短路径:求源点到某特定点的最短距离 特点:Bellman-Ford算法主要是针对有负权值的图,来判断该图中是否有负权回路或者存在最短路径的点 局限性:算法效率不高,不如SPFA算法 时 ...
- asp.net文件上传进度条研究
文章:asp.net 文件上传进度条实现代码