思路:鼠标滑过的效果直接用a:hover实现的,比较简便,缺点是在IE下不兼容。

     为每一个Li添加点击事件,将每一个li用自定义属性的方法与div相匹配,重点是在点击事件内,要先遍历每一个div,使之display:none,然后在事件外写每一个div             display:block;这就是所谓的思路:

1、全部清空,当前添加

  for(var i=0;i<aBtn.length;i++){

    aBtn[i].className='';

};

this.className='active';

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
*{padding:0;margin:0;}
a{text-decoration:none;}
li{list-style:none;}
.clear:after{content:"";display:block;clear:both;}
.clear{zoom:1;}
#box{width:765px;margin:0 auto;font-size:12px;padding:15px 19px 0 6px;background:#fdf8f1;}
#box h2{font-size:15px;color:867c7b;}
.head{border-bottom:2px solid transparent;}
.head li{width:100px;height:23px;line-height:23px;text-align:center;float:left;margin-left:1px;background:#eaddcc;margin-top:7px;}
.head:hover{border-bottom:2px solid #806f66;}
.head a{color:#595959;display:block;}
.head a:hover{background:#806f66;color:#fff;}
#box div{width:520px;padding:16px 69px 20px 97px;background:url(images/images/images/2-tmall_03.jpg) no-repeat 35px 19px;line-height:20px;border-top:1px solid #e3e3e3;display:none}
</style>
<script>
window.onload=function(){
var oDiv=document.getElementById('box');
var oUl=oDiv.getElementsByTagName('ul')[0];
var aLi=oUl.getElementsByTagName('li');
var aDiv=oDiv.getElementsByTagName('div');

for(var i=0;i<aLi.length;i++){
aLi[i].index=i;
aLi[i].onclick=function(){
for(var i=0;i<aDiv.length;i++){
aDiv[i].style.display='';
};
aDiv[this.index].style.display='block';
};
};
};
</script>
</head>

<body>
<div id="box">
<h2>消息盒子</h2>
<ul class="head clear">
<li><a href="javascript:;">未读</a></li>
<li><a href="javascript:;">全部</a></li>
<li><a href="javascript:;">我的成长</a></li>
<li><a href="javascript:;">特权活动</a></li>
<li><a href="javascript:;">系统消息</a></li>
<li><a href="javascript:;">其他</a></li>
</ul>
<div style="display:block">
<p><strong>天猫俱乐部:未读</strong> </br>
<span style="color:#666; font-weight:bold">天猫达人经验值发放成功</span>&nbsp;<span style="color:#666" >您上个月购买天猫产品,总共获得1600点天猫达人经验值,已经发放成功!查看天猫达人值经验请</span>
<a href="#"><strong style="color:#806f66;text-decoration:underline">点此查看</strong></a> </br>
<span style="color:#b5b4b3; line-height:30px;">2013年10月3日</span>
</p>
</div>
<div>
<p><strong>天猫俱乐部:全部</strong> </br>
<span style="color:#666; font-weight:bold">天猫达人经验值发放成功</span>&nbsp;<span style="color:#666" >您上个月购买天猫产品,总共获得1600点天猫达人经验值,已经发放成功!查看天猫达人值经验请</span>
<a href="#"><strong style="color:#806f66;text-decoration:underline">点此查看</strong></a> </br>
<span style="color:#b5b4b3; line-height:30px;">2013年10月3日</span>
</p>
</div>
<div>
<p><strong>天猪俱乐部:我的成长</strong> </br>
<span style="color:#666; font-weight:bold">天猫达人经验值发放成功</span>&nbsp;<span style="color:#666" >您上个月购买天猫产品,总共获得1600点天猫达人经验值,已经发放成功!查看天猫达人值经验请</span>
<a href="#"><strong style="color:#806f66;text-decoration:underline">点此查看</strong></a> </br>
<span style="color:#b5b4b3; line-height:30px;">2013年10月3日</span>
</p>
</div>
<div>
<p><strong>天猪俱乐部:特权活动</strong> </br>
<span style="color:#666; font-weight:bold">天猫达人经验值发放成功</span>&nbsp;<span style="color:#666" >您上个月购买天猫产品,总共获得1600点天猫达人经验值,已经发放成功!查看天猫达人值经验请</span>
<a href="#"><strong style="color:#806f66;text-decoration:underline">点此查看</strong></a> </br>
<span style="color:#b5b4b3; line-height:30px;">2013年10月3日</span>
</p>
</div>
<div>
<p><strong>天猪俱乐部:系统消息</strong> </br>
<span style="color:#666; font-weight:bold">天猫达人经验值发放成功</span>&nbsp;<span style="color:#666" >您上个月购买天猫产品,总共获得1600点天猫达人经验值,已经发放成功!查看天猫达人值经验请</span>
<a href="#"><strong style="color:#806f66;text-decoration:underline">点此查看</strong></a> </br>
<span style="color:#b5b4b3; line-height:30px;">2013年10月3日</span>
</p>
</div>
<div>
<p><strong>天猪俱乐部:其他</strong> </br>
<span style="color:#666; font-weight:bold">天猫达人经验值发放成功</span>&nbsp;<span style="color:#666" >您上个月购买天猫产品,总共获得1600点天猫达人经验值,已经发放成功!查看天猫达人值经验请</span>
<a href="#"><strong style="color:#806f66;text-decoration:underline">点此查看</strong></a> </br>
<span style="color:#b5b4b3; line-height:30px;">2013年10月3日</span>
</p>
</div>
</div>
</body>
</html>

JS初学之-选项卡(常见)的更多相关文章

  1. JS初学之-选项卡(图片切换类)

    初学选项卡,主要问题卡在了索引值上面,花了较长的时间学习. 索引值其实很好理解,就是为每一个元素用JS的方法添加一个属性,即自定义属性. 在for循环里的函数里用i,会直接弹出这个数组的length, ...

  2. 原生js实现tab选项卡里内嵌图片滚动特效代码

    <!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8&quo ...

  3. Node.js初学

    Node.js 初学~ 其技术上最大的卖点是非阻塞的I/O和基于事件的异步处理机制. 后端没有什么深入研究,一直对其不是很了解. 透过一个例子看 非阻塞 与 通常的 阻塞 var text = rea ...

  4. 【JS中循环嵌套常见的六大经典例题+六大图形题,你知道哪几个?】

    首先,了解一下循环嵌套的特点:外层循环转一次,内层循环转一圈. 在上一篇随笔中详细介绍了JS中的分支结构和循环结构,我们来简单的回顾一下For循环结构: 1.for循环有三个表达式,分别为: ①定义循 ...

  5. JS中几种常见的数组算法(前端面试必看)

    JS中几种常见的数组算法 1.将稀疏数组变成不稀疏数组 /** * 稀疏数组 变为 不稀疏数组 * @params array arr 稀疏数组 * @return array 不稀疏的数组 */ f ...

  6. 纯CSS3完成选项卡,不要js完成的选项卡

    我爱撸码,撸码使我感到快乐!大家好,我是Counter.今天就来敲一敲,选项卡,注意哦,不是一般利用js完成的选项卡,今天是纯用HTML和CSS来完成的,这怎么可能?那你不用js的点击事件,怎么处理? ...

  7. node.js 初学(二)—— 搭建注册/登录服务器

    node.js 初学(二)—— 搭建注册/登录服务器 理论上来说,代码实现在理论和实际上是一样的.但实际上来说,他们不是 做一个最简单的用户注册登录功能 1.接口定义: 注册:/user?act=re ...

  8. node.js 初学(一)—— http fs 服务器/文件/post get

    node.js 初学 —— http fs 服务器/文件/post get 这个世界,从来不会给失败者颁奖! 了解 node.js (开源) node.js 是用来做后台开发的,但是现在大部分前端人员 ...

  9. js进阶 11-22/23 js如何实现选项卡

    js进阶 11-22/23 js如何实现选项卡 一.总结 一句话总结:通过索引把选项卡头的li标签和选项卡内容的div标签联系在一起,通过控制div标签的display属性可以实现选项卡的选项切换. ...

随机推荐

  1. localStorage

    length:唯一的属性,只读,用来获取storage内的键值对数量. key:根据index获取storage的键名 getItem:根据key获取storage内的对应value setItem: ...

  2. 【第40套模拟题】【noip2011_mayan】解题报告【map】【数论】【dfs】

    目录:1.潜伏者 [map] 2.Hankson的趣味题[数论]3.mayan游戏[dfs] 题目: 1. 潜伏者(spy.pas/c/cpp)[问题描述]R 国和S 国正陷入战火之中,双方都互派间谍 ...

  3. Diskpart使用说明

    [查看硬盘信息] 1.打开命令窗口 cmd 2.diskpart 命令进入Diskpart管理程式 3.list disk 查看硬盘信息   list partition 查看分区信息 [初使化硬盘] ...

  4. 分布式一致性原理—BASE

    定义 BASE是BasicallyAvailable(基本可用).Soft state(软状态)和Eventually consistent(最终一致性)三个短语的简写,是由来自eBay的架构师Dan ...

  5. [pjsip]Pjlib中配置文件config.h解析

    config_site.h 这个头文件包含在config.h中,用于引入平台?(site)/用户特定的配置以控制PJLIB的特性,用户需要自己生成这个文件. 譬如说我们要把PJLIB编译成DLL,那么 ...

  6. lightoj1082 线段树

    //Accepted 5596 KB 396 ms //线段树求区间最小值 #include <cstdio> #include <cstring> #include < ...

  7. ACM - 动态规划专题 题目整理

    CodeForces 429B  Working out 预处理出从四个顶点到某个位置的最大权值,再枚举相遇点,相遇的时候只有两种情况,取最优解即可. #include<iostream> ...

  8. html5 placeholder

    placeholder是html5<input>标签的一个属性,placeholder 属性提供可描述输入字段预期值的提示信息(hint).该提示会在输入字段为空时显示,并会在字段获得焦点 ...

  9. php大力力 [035节] 先记录一些链接

    [IT名人堂]专访百分点研发总监:不止于平台,大数据操作系统重磅来袭! [2015-8-11 14:17:04] [IT名人堂]专访1号店技术总监:大型电商网站的IT架构 [2015-8-25 15: ...

  10. susy-Toolkit 之翻译

    Toolkit工具包 The Susy 2.0 toolkit is built around our shorthand syntax. Use the shorthand to control e ...