首页 > 代码库 > 慕课网javascript 进阶篇 第十章 编程练习
慕课网javascript 进阶篇 第十章 编程练习
---恢复内容开始---
第十章的编程练习是选项卡切换的问题。
先分析下思路,
一、HTML页面布局
我们可以用ui li 标签来写最上面一行的内容;用个div来装下面内容,为了实现更多的效果,我们可以把上面那行的文字放在<a>标签里。
二、CSS样式制作
对文档进行基本的样式设置,font color border 那些
三、JS实现选项卡切换
通过改变DOM的css类名称,当前点击的选项卡显示,其它隐藏。
---恢复内容结束---
第十章的编程练习是选项卡切换的问题。
先分析下思路,
一、HTML页面布局
我们可以用ui li 标签来写最上面一行的内容;用个div来装下面内容,为了实现更多的效果,我们可以把上面那行的文字放在<a>标签里。
二、CSS样式制作
对文档进行基本的样式设置,font color border 那些
三、JS实现选项卡切换
1 当我们点击的时候下面的内容是变换过来了,那么就是内容的的切换,我一开始可以设置三个div,分别装三部分文字内容,切换到谁就让谁显示出来
也就是display:block;其余的都是display:none;隐藏起来。
2 既然是一个选项对应这一个内容 那他们之间是什么联系着的?我们在写js的时候应该怎么把两者关联上,因为我们绑定事件的时候 他们是要一起发生事件的。
开始敲吧:
html css布局 加样式就不多说了 主要是js:
<ul> <li class="house"><a href="#" onclick="changecolor()">房产</a></li> <li><a href="#" onclick="changecolor()">家居</a></li> <li><a href="#" onclick="changecolor()">二手房</a></li> </ul> <div class="div1"> <p>275万购昌平邻铁三居 总价20万买一居</p> <p>200万内购五环三居 140万安家东三环</p> <p>北京首现零首付楼盘 53万购东5环50平</p> <p>京楼盘直降5000 中信府 公园楼王现房</p> </div> <div class="div2"> <p>40平出租屋大改造 美少女的混搭小窝</p> <p>经典清新简欧爱家 90平老房焕发新生</p> <p>新中式的酷色温情 66平撞色活泼家居</p> <p>瓷砖就像选好老婆 卫生间烟道的设计</p> </div> <div class="div3"> <p>通州豪华3居260万 二环稀缺2居250w甩</p> <p>西3环通透2居290万 130万2居限量抢购</p> <p>黄城根小学学区仅260万 121平70万抛!</p> <p>独家别墅280万 苏州桥2居优惠价248万</p> </div>
js:
<script type="text/javascript">
// JS实现选项卡切换
function changecolor() {
var anode=document.getElementsByTagName("a");
var linode=document.getElementsByTagName("li");
var divnode=document.getElementsByTagName("div")
// var divn2ode=document.getElementById("div2");
//var divn3ode=document.getElementById("div3");
for(var i=0;i<linode.length;i++){
linode[i].index=i; //因为一开始不知道index这个属性;所以一直联系不上li标签和div标签的关系
linode[i].onclick=function () {
for(var n=0;n<linode.length;n++){
linode[n].className="";
divnode[n].className="hide";
} //这个地方给的for循环很有意思 也用的很好 得好好琢磨琢磨
this.className="house";//这两端代码不能写在内部for循环之前,因为js是从上解析到下的 因为前面的for循环是把所有的li属性都归结到原始的状态
divnode[this.index].className="div1";//我们后面的是给前面归结到原始状态的添加新的className属性 div属性也一样 一开始都隐藏起来 后来在给予
}
}
}
慕课网javascript 进阶篇 第十章 编程练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。