利用JavaScript知识,实现选项卡切换的效果。

效果图:

文字素材:

房产:

275万购昌平邻铁三居 总价20万买一居
    200万内购五环三居 140万安家东三环
    北京首现零首付楼盘 53万购东5环50平
    京楼盘直降5000 中信府 公园楼王现房

家居:

40平出租屋大改造 美少女的混搭小窝
     经典清新简欧爱家 90平老房焕发新生
     新中式的酷色温情 66平撞色活泼家居
     瓷砖就像选好老婆 卫生间烟道的设计

二手房:

通州豪华3居260万 二环稀缺2居250w甩
     西3环通透2居290万 130万2居限量抢购
     黄城根小学学区仅260万 121平70万抛!
     独家别墅280万 苏州桥2居优惠价248万

任务

大家先思考和分析实现思路,然后在动手实现

一、HTML页面布局

提示:
选项卡标题使用ul..li
选项卡内容使用div

二、CSS样式制作

提示:
整个选项卡的样式设置
选项卡标题的样式设置
选项卡内容的样式设置
一开始只显示一个选项卡内容,其它选项卡内容隐藏。

三、JS实现选项卡切换

提示:
获取选项卡标题和选项卡内容
选项卡内容多个,需要循环遍历来操作,得知哪个选项卡和哪个选项内容匹配
通过改变DOM的css类名称,当前点击的选项卡显示,其它隐藏。
<!DOCTYPE html>
<html> <head lang="en">
<meta charset="UTF-8">
<title>实践题 - 选项卡</title>
<style type="text/css">
/* CSS样式制作 */ *body {
margin: 0;
padding: 0;
} ul,
li {
list-style-type: none;
} #newstitle ul {
overflow: hidden;
margin-bottom: 0px;
padding-left: 25px;
} #newstitle ul li {
float: left;
width: 95px;
height: 30px;
line-height: 30px;
text-align: center;
border-left: 1px solid #5a5757;
border-top: 1px solid #5a5757;
border-right: 1px solid #5a5757;
margin-right: 5px;
border-radius: 3px 3px 0px 0px;
} #newstitle ul li:hover {
cursor: pointer;
} #newstitle ul .active{
border-top:2px solid #541e1e;
border-bottom:2px solid #e1dddd;
background-color:#e1dddd;
} #newsdetails {
width: 350px;
height: 150px;
overflow: hidden;
margin-top: -2px;
} #newsdetails ul {
padding-top: 10px;
padding-bottom: 10px;
margin-top: 0px;
background-color:#e1dddd;
border-top: 2px solid #541e1e;
} #newsdetails ul li a {
text-decoration: none;
color: #000;
display: block;
height: 30px;
line-height: 30px;
}
#newsdetails ul li a:hover{
text-decoration: underline;
}
.show{
display:block;
}
.hide{
display:none;
}
</style>
<script type="text/javascript">
// JS实现选项卡切换
window.onload=function(){ //页面加载时调用函数
var newst = document.getElementById("newstitle"); //通过id获取新闻分类区域
var tlist = newst.getElementsByTagName("li"); //获取新闻分类标题标li签
var newsd = document.getElementById("newsdetails"); //通过id获取新闻列表区域
var dul = newsd.getElementsByTagName("ul"); //获取新闻列表板块ul
for(var i=0;i<tlist.length;i++){ //遍历新闻分类标题li
tlist[i].index=i; //在循环的过程中绑定下标i(0 1 2)到tlist数组相应元素tlist[0] tlist[1] tlist[2]的index变量上
tlist[i].onmouseover=function(){ //对新闻分类标题设置鼠标经过事件
for(var i=0;i<tlist.length;i++){ //历新闻分类标题li
tlist[i].className = ""; //消除新闻分类标题li后添加的类
}
this.className="active"; //将鼠标当前经过的元素的类名设置为active
for(var j=0;j<dul.length;j++){ //遍历新闻列表板块
dul[j].className="hide"; //将新闻列表板块的类设置为隐藏
}
dul[this.index].className="show"; //将对应鼠标经过的新闻分类的板块的类设置为显示
}
}
}
</script>
</head> <body>
<!-- HTML页面布局 -->
<div id="newstitle">
<ul>
<li class="active">房 产</li>
<li>家 居</li>
<li>二手房</li>
</ul>
</div>
<div id="newsdetails">
<ul>
<li><a href="">275万购昌平邻铁三居 总价20万买一居</a></li>
<li><a href="">200万内购五环三居 140万安家东三环</a></li>
<li><a href="">北京首现零首付楼盘 53万购东5环50平</a></li>
<li><a href="">京楼盘直降5000 中信府 公园楼王现房</a></li>
</ul>
<ul>
<li><a href="">40平出租屋大改造 美少女的混搭小窝</a></li>
<li><a href="">经典清新简欧爱家 90平老房焕发新生</a></li>
<li><a href="">新中式的酷色温情 66平撞色活泼家居</a></li>
<li><a href="">瓷砖就像选好老婆 卫生间烟道的设计</a></li>
</ul>
<ul>
<li><a href="">通州豪华3居260万 二环稀缺2居250w甩</a></li>
<li><a href="">西3环通透2居290万 130万2居限量抢购</a></li>
<li><a href="">黄城根小学学区仅260万 121平70万抛!</a></li>
<li><a href="">独家别墅280万 苏州桥2居优惠价248万</a></li>
</ul>
</div>
</body> </html>

二、JavaScript语言--JS基础--JavaScript进阶篇--选项卡切换效果的更多相关文章

  1. 二、JavaScript语言--JS基础--JavaScript入门篇

    1.如何插入JS 使用<script>标签在HTML网页中插入JavaScript代码.注意, <script>标签要成对出现,并把JavaScript代码写在<scri ...

  2. 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素

    1.认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面 ...

  3. 二、JavaScript语言--JS基础--JavaScript进阶篇--浏览器对象

    1.window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法:

  4. 二、JavaScript语言--JS基础--JavaScript进阶篇--事件响应

    1.什么是事件 JavaScript 创建动态页面.事件是可以被 JavaScript 侦测到的行为. 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件. 比如说,当用户 ...

  5. 二、JavaScript语言--JS基础--JavaScript进阶篇--流程控制语句

    1.if语句--做判断 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位, ...

  6. 二、JavaScript语言--JS基础--JavaScript进阶篇--数组

    1.什么事数组 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果需要存储更多数据,那就会变的更麻烦.我们用 ...

  7. 二、JavaScript语言--JS基础--JavaScript进阶篇--JS基础语法

    1.变量 定义:从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服.玩具.水果...等. 命名:变量名字可以任 ...

  8. 二、JavaScript语言--JS基础--JavaScript进阶篇--JavaScript内置对象

    1.什么事对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方 ...

  9. 二、JavaScript语言--JS基础--JavaScript进阶篇--函数

    1.什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. 如:我们要完成多组数和的功能. var sum; sum = 3+2; alert(sum); sum=7+8 ; alert(s ...

随机推荐

  1. jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性

    新一代 Java 模板引擎,具有高性能和高扩展性. <!-- Jetbrick Template Engineer --> <dependency> <groupId&g ...

  2. 安装sqlserver2012时出现的丧心病狂的错误

    Service Pack 安装程序 ------------------------------ 出现以下错误: 安装程序集“Microsoft.VC80.ATL,version="8.0. ...

  3. SMTP协议--在cmd下利用bat命令行发送邮件

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 选择‘开始’-‘运行’,输入cmd,进入命令提示符窗口. Windows7默认没有开始Telnet服务,请在运 ...

  4. 跟着百度学PHP[4]OOP面对对象编程-10-静态关键字static

    使用static关键字可以将类中的成员标识为静态的,既可以用来标识成员属性,也可以用来标识成员方法. 以Person类为例,如果在person类中有一个“$country=’china’”的成员属性, ...

  5. Windows 10磁盘占用100%解决办法

    开机后磁盘占用高,是因为 windows 10 默认启用了 superfetch 服务.   这个服务的主要功能是加快程序的启动速度.开机以后,系统将那些经常使用的程序,预先从硬盘加载到内存中,这样, ...

  6. COGS 2387.[HZOI 2016]2387题解

    题目大意: 给定一个有n个元素的数组,有m个操作,分为两种,分别是询问第k个x的下标和把下标为x的数修改为k. 题目设置了强制在线,故无法预先得知所有操作数. 思路: 有三种思路. 第一种:平衡树 b ...

  7. Python类的特点 (3) :静态方法与类方法

    Python中的方法有4种: 1)模块中的全局方法,不属于任何类,用"模块名.方法名"形式调用. 2)类中定义的实例方法,也被称为绑定方法(Bound method),这种方法的第 ...

  8. 在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作

    Phpstorm除了能直接打开localhost文件之外,还可以连接FTP,除了完成正常的数据传递任务之外,还可以进行本地文件与服务端文件的异同比较,同一文件自动匹配目录上传,下载,这些功能是平常ID ...

  9. javascript特殊运算符

    in运算符                 in运算符要求其左边的运算数是一个字符串,或可以被转换为字符串,右边的运算数十一个对象或数组.如果该 运算符左边的值是右边对象的一个属性名,则返回true, ...

  10. mybaits in

    mybatis中的in: <select id="getByInventoryIds" resultMap="beanMap"> SELECT * ...