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. 关于跨域获取cookie问题的解决

    需求是有2个域名:www.a.com和www.b.com,b.com需要获取a.com中的cookie,解决方法是这样的: 在a.com编写一个设置cookie的页面:set_cookie.php 代 ...

  2. NOIP 2014【斗地主】

    这真是道大火题. 因为保证数据随机,所以开始很多人直接用搜索 + 贪心水过去了,后来,为了遏制骗分这种不良风气的传播,各大 OJ 相继推出了斗地主加强版-- 正解: 先爆搜顺子,枚举打或不打,打多少张 ...

  3. Jmeter-配置原件-HTTP Cookie管理器

    线程组右键 -- 添加  -- 配置原件 -- HTTP Cookie管理器 如何定位到自己的cookie?以Google  Chrome浏览器为例: 1.打开浏览器,打开开发者工具 2.登录站点 3 ...

  4. tf.stack和tf.unstack

    import tensorflow as tf a = tf.constant([1,2,3]) b = tf.constant([4,5,6]) c1 = tf.stack([a,b],axis=0 ...

  5. ACM学习历程—HDU 4287 Intelligent IME(字典树 || map)

    Description We all use cell phone today. And we must be familiar with the intelligent English input ...

  6. ACM学习历程——POJ3321 Apple Tree(搜索,线段树)

          Description There is an apple tree outside of kaka's house. Every autumn, a lot of apples will ...

  7. Asp.Net 无法获取IIS拾取目录的解决办法[译]

    Asp.Net 无法获取IIS拾取目录的解决办法 作者:Jason Doucette  [MCP] 翻译:彭远志 原文地址:Fixing the cannot get IIS pickup direc ...

  8. LMV实验

    在CentOS6.8上创建过程如下: #对需要创建lvm的卷进行磁盘分区[root@www ~13:40:48]#fdisk /dev/sde Device contains neither a va ...

  9. Openstack web 添加和删除按钮

    注:当前已经时候用smaba将openstack环境的源码共享到windows系统上,并使用pycharm进行代码编辑和修改(参见openstack开发环境搭建).如下图:

  10. Win10下Anaconda中安装Tensorflow

    1.安装Anaconda 下载:https://repo.continuum.io/archive/,我用的是Python 3.5 ,64位系统,所以选择的版本是Anaconda2-4.2.0-Win ...