10-1 编程挑战

现在利用之前我们学过的JavaScript知识,实现选项卡切换的效果。

效果图:

aaarticlea/png;base64,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" alt="" />

文字素材:

房产:

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">

         *{padding:0px;margin: 0px;font:12px normal "microsoft yahei";}

         #tabs {width:290px;padding:5px;height:150px;margin:20px;}

         #tabs ul{list-style:none;display: block;height:30px;line-height:30px;border-bottom:2px saddlebrown solid;}

         #tabs ul li{background:#fff;cursor:pointer;float:left;list-style:none;height:28px;line-height:28px;margin:0px 3px;border:1px solid #aaaaaa;border-bottom:none;display:inline-block;width:60px;text-align: center;}

         #tabs ul li.on{border-top:2px solid saddlebrown;border-bottom: 2px solid #fff;}

         #tabs div{height:120px;line-height: 25px;border:1px solid #336699;border-top:none;padding:5px;}

         .hide{display: none;}

     </style>

     <script type="text/javascript">

          window.onload = function(){

              var oTab = document.getElementById("tabs");

              var oUl = oTab.getElementsByTagName("ul")[0];

              var oLis = oUl.getElementsByTagName("li");

              var oDivs= oTab.getElementsByTagName("div");

              for(var i= 0,len = oLis.length;i<len;i++){

                  oLis[i].index = i;

                  oLis[i].onclick = function() {

                      for(var n= 0;n<len;n++){

                          oLis[n].className = "";

                          oDivs[n].className = "hide";

                      }

                      this.className = "on";

                      oDivs[this.index].className = "";

                  }

              };

          }

     </script>

 </head>

 <body>

 <div id="tabs">

     <ul>

         <li class="on">房产</li>

         <li>家居</li>

         <li>二手房</li>

     </ul>

     <div>

         275万购昌平邻铁三居 总价20万买一居<br>

         200万内购五环三居 140万安家东三环<br>

         北京首现零首付楼盘 53万购东5环50平<br>

         京楼盘直降5000 中信府 公园楼王现房<br>

     </div>

     <div class="hide">

         40平出租屋大改造 美少女的混搭小窝<br>

         经典清新简欧爱家 90平老房焕发新生<br>

         新中式的酷色温情 66平撞色活泼家居<br>

         瓷砖就像选好老婆 卫生间烟道的设计<br>

     </div>

     <div class="hide">

         通州豪华3居260万 二环稀缺2居250w甩<br>

         西3环通透2居290万 130万2居限量抢购<br>

         黄城根小学学区仅260万 121平70万抛!<br>

         独家别墅280万 苏州桥2居优惠价248万<br>

     </div>

 </div>

 </body>

 </html>

实践题 - 选项卡

要点:

JS 中“===”与 “==”比较的区别

1. ==用于一般比较,==在比较的时候可以转换数据类型。
2. ===用于严格比较,===严格比较,只要类型不匹配就返回flase。
看一个简单的例子:
 
给定 x=5
 
==  等于             x==8 为 false 
=== 全等(值和类型) x===5 为 true;x==="5" 为 false
 
举例说明:
 
"1"  ==  true
 
类型不同,"=="将先做类型转换,把true转换为1,即为 "1"  ==  1;
 
此时,类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1;
 
此时,"==" 左右两边的类型都为数值型,比较成功!
 
如果比较:"1"  ===  true 左侧为字符型,右侧为bool布尔型,左右两侧类型不同,结果为false;
 
如果比较:"1" === 1 左侧为字符型,右侧为int数值型,左右两侧类型不同,结果为false;
 
如果比较:1 === 1 左侧为int数值型,右侧为int数值型,左右两侧类型相同,数值大小也相同,结果为true;
 
如果比较:1 === 2 左侧为int数值型,右侧为int数值型,左右两侧类型相同,但数值大小不同,结果为false;
 
简而言之就是 "==" 只要求值相等; "===" 要求值和类型都相等

++a与a++的区别

a++是运算后自增,而++a是先自增在运算(即++a 先自加再取值,a++先取值在自加)

相同点:

a++和++a中, i的值自增1,也就是a=a+1;

不同点:

a++ : 把(a++)作为一个整体表达式,a 的值虽然自增1,但是整个表达式的值是取 a自增  之前  的值;

++a : 也把(++a)作为一个整体表达式,a 的值也自增1,但是整个表达式的值是取 a 自增  之后  的值。

看实例:

m=a++ 相当于 m=a,a=a+1

m=++a 相当于 a=a+1,m=a 这种自加运算和自减运算,都相当于两步骤

总结: a++ 是先把 a 赋值,然后自己加一, ++a,是先自己加一,然后再把 a 赋值。

JS中substr和substring的用法和区别

substr 和
substring都是JS 截取字符串函数,两者用法很相近,下面是两者的语法很示例:

一、substr 方法

返回一个从指定位置开始的指定长度的子字符串。
string.substr(start [, length ])

注意: length可选项。如 length
为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串到 string 的最后。

二、substring 方法

返回位于
String 对象中指定位置的子字符串。
string.substring(start, end)

注意:

substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。

三、示例代码

var str =
"I love JS!";// 有一个str字符串,如想获取JS子字符串,用两种方法如何实现。
str.substr(7, 2); // 获取子字符串。

str.substring(7,
9); // 获取子字符串。

结果:  JS

区别:第二参数,substr第二个参数是获取子字符串的长度,substring第二个参数是获取子字符串的结束位置。

四、注意事项

substr和substring两个函数截取带有空格的字符串后的长度是每个空格算一个字符长度。例如:

var a = "I am imooc!";

a.substring(0, 5).length的值是5,而不是4,但alert(a.substring(0, 5));的值却是I am ,这样在做alert("I am" == a.substring(0, 5));的时候就是false了,alert("I am" ==
a.substring(0, 4));才是true。

JavaScript进阶 - 第10章 编程挑战的更多相关文章

  1. 慕课网javascript 进阶篇 第九章 编程练习

    把平常撸的码来博客上再撸一遍既可以加深理解,又可以理清思维.还是很纯很纯的小白,各位看官老爷们,不要嫌弃.最近都是晚睡,昨晚也不例外,两点多睡的.故,八点起来的人不是很舒服,脑袋有点晕呼呼,鉴于昨晚看 ...

  2. javascript进阶课程--第一章--函数

    javascript进阶课程--第一章--函数 学习要点 了解内存管理 掌握全局函数的使用 知识点 基本类型和引用类型 基本类型值有:undefined,NUll,Boolean,Number和Str ...

  3. javascript进阶课程--第二章--对象

    javascript进阶课程--第二章--对象 学习要点 理解面向对象的概念 掌握对象的创建方法 掌握继承的概念和实现方法 基本概念 对象究竟是什么?什么叫面向对象编程? 对象是从我们现实生活中抽象出 ...

  4. javascript进阶教程第二章对象案例实战

    javascript进阶教程第二章对象案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过案例练习补充几个之前没有见到或者虽然讲过单是讲的不仔细的知识点. 二.具体实例 温馨提示 面向对象的知 ...

  5. javascript进阶教程第一章案例实战

    javascript进阶教程第一章案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过练习积累JS的使用技巧 二.实例 练习1:删除确认提示框 实例描述: 防止用户小心单击了“删除”按钮,在用 ...

  6. JavaScript进阶 - 第2章 你要懂的规则(JS基础语法)

    第2章 你要懂的规则(JS基础语法) 2-1什么是变量 什么是变量? 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品 ...

  7. JavaScript进阶 - 第1章 系好安全带,准备启航

    第1章 系好安全带,准备启航 1-1让你认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂 ...

  8. JavaScript进阶 - 第7章 JavaScript内置对象

    第7章 JavaScript内置对象 7-1 什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的, ...

  9. JavaScript进阶 - 第3章 一起组团(数组)

    第3章 一起组团(数组) 3-1 一起组团(什么是数组) 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果 ...

随机推荐

  1. 服务器中判断客户端socket断开连接的方法【转】

    本文转载自:http://www.cnblogs.com/jacklikedogs/p/3976208.html 1, 如果服务端的Socket比客户端的Socket先关闭,会导致客户端出现TIME_ ...

  2. 部署nginx支持lua

    nginx yum -y install gcc pcre pcre-devel openssl openssl-devel  GeoIP GeoIP-devel lua lua-develwget ...

  3. 让loadrunner走下神坛(全)

    作者: sunshinelius(转载请注明作者) Loadrunner无疑是一个强大有力的压力测试工具.它的脚本可以录制生成,自动关联:测试场景可以面向指标,多方监控:测试结果图表显示,拆分组合.相 ...

  4. 创建一个HTML5与JQuery结合的幻灯片

    1. [代码][JavaScript]代码 $(window).load(function(){    //我们监听了 window.load 事件,因此我们确定幻灯片上的所有图片都能够正确进行加载. ...

  5. BZOJ 1529 [POI2005]ska Piggy banks:并查集

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1529 题意: Byteazar有N个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. By ...

  6. poj-2336 Ferry Loading II(dp)

    题目链接: Ferry Loading II Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3946   Accepted: ...

  7. configured to save RDB snapshots, but is currently not able to persist o...

    Redis问题 MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on d ...

  8. POJ1511(最短路大数据处理)

    Invitation Cards Time Limit: 8000MS   Memory Limit: 262144K Total Submissions: 23357   Accepted: 767 ...

  9. requests模拟上传照片

    博客园相册管理中有上传照片的功能 现在通过requests库模拟上传图片功能 先手动上传图片,用Fiddler转包,查看到上传图片接口请求格式, ------WebKitFormBoundarySKZ ...

  10. 深入理解和探究Java类加载机制

    深入理解和探究Java类加载机制---- 1.java.lang.ClassLoader类介绍 java.lang.ClassLoader类的基本职责就是根据一个指定的类的名称,找到或者生成其对应的字 ...