为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript进阶篇

难度入门
时长 8小时55分
学习人数
综合评分9.47
2557人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.3 逻辑清晰
  • arr.join(分隔符);

    join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。


    查看全部
  • arr.concat(arr1,arr2);

    arr=[...arr1,...arr2]

    查看全部
  • 现在利用之前我们学过的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">

    *{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>


    查看全部
    0 采集 收起 来源:编程挑战

    2020-01-08

  • 字符串分割split("指定的分割符","分割的数量")



    查看全部
  • 制作一个表格,显示班级的学生信息。

    要求:

    1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff

    2. 点击添加按钮,能动态在最后添加一行

    3. 点击删除按钮,则删除当前行

    任务

    第一步: 首先,我们创建删除函数,并在删除按钮上添加点击事件;

    提示: 使用removeChild()。

    第二步: 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;

    提示: 使用createElement()、innerHTML、appendChild()。

    第三步: 更改鼠标移动改变背景则可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。

    提示:
    1. 获取表格的行,getElementsByTagName 。
    2. 使用for进行循环,为每行添加事件及背景颜色设置。


    <!DOCTYPE html>

    <html>

    <head>

    <title> new document </title>  

    <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>  

    <script type="text/javascript">  

    window.onload = function(){

    Highlight();

    }

    function addOne(obj){

    var tbody = document.getElementById('table').lastChild;

    var tr = document.createElement('tr');

    var td = document.createElement("td");

    td.innerHTML = "<input type='text'/>";

    tr.appendChild(td);

    td = document.createElement("td");

    td.innerHTML = "<input type='text'/>";

    tr.appendChild(td);

    td = document.createElement("td");

    td.innerHTML = "<a href='javascript:;' onclick='deleteRow(this)'>删除</a>";

    tr.appendChild(td);

    tbody.appendChild(tr);

    Highlight();

    }


    function deleteRow(obj){

    var tbody = document.getElementById('table').lastChild;

    var tr = obj.parentNode.parentNode;

    tbody.removeChild(tr);

    }

    function Highlight(){

    var tbody = document.getElementById('table').lastChild; //table标签里面默认有一个tbody标签

    trs = tbody.getElementsByTagName('tr');

    for(var i =1;i<trs.length;i++){

    trs[i].onmouseover = function(){

    this.style.backgroundColor ="#f2f2f2"; //需要再了解JS里的this使用,好像很复杂……

    }

    trs[i].onmouseout = function(){

    this.style.backgroundColor ="#fff";

    }

    }

    }


    </script>

    </head>

    <body>

    <table border="1" width="50%" id="table">

    <tr>

    <th>学号</th>

    <th>姓名</th>

    <th>操作</th>

    </tr>  


    <tr>

    <td>xh001</td>

    <td>王小明</td>

    <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td> <!--为啥不能用<a href="javascript:deleteRow(this)">-->

    </tr>


    <tr>

    <td>xh002</td>

    <td>刘小芳</td>

    <td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td>

    </tr>  


    </table>

    <input type="button" value="添加一行" onclick="addOne()" />

    </body>

    </html>



    查看全部
    0 采集 收起 来源:编程练习

    2020-01-08

  • 注意:变量也可以不声明,直接使用,

    但为了规范,需要先声明,后使用。

    查看全部
  • 什么是变量? 

    从字面上看,变量是可变的量;

    从编程角度讲,变量是用于存储某种/某些数值的存储器。

    查看全部
    0 采集 收起 来源:什么是变量

    2020-01-08

  • onclick    鼠标点击

    onmouseover    鼠标经过

    onmouseout    鼠标移开

    onchange    文本框内容改变

    onselect    文本框内容被选中

    onfocus    光标聚集

    onblur    光标离开

    onload    网页加载完成

    onunload    网页关闭

    查看全部
    0 采集 收起 来源:什么是事件

    2020-01-08

  • 我们先来看看下面的图:

    scrollLeft:设置或获取位于给定对象左边界与窗口中目前可见内容的最左端之间的距离 ,即左边灰色的内容。

    scrollTop:设置或获取位于对象最顶端与窗口中可见内容的最顶端之间的距离 ,即上边灰色的内容。

    offsetLeft:获取指定对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 。

    offsetTop:获取指定对象相对于版面或由 offsetParent 属性指定的父坐标的计算顶端位置 。

    注意:

    1. 区分大小写

    2. offsetParent:布局中设置postion属性(Relative、Absolute、fixed)的父容器,从最近的父节点开始,一层层向上找,直到HTML的body。


    查看全部
  • offsetHeight和offsetWidth,获取网页内容高度和宽度(包括滚动条等边线,会随窗口的显示大小改变)。

    一、值

    offsetHeight = clientHeight + 滚动条 + 边框。

    二、浏览器兼容性

    var w= document.documentElement.offsetWidth
        || document.body.offsetWidth;
    var h= document.documentElement.offsetHeight
        || document.body.offsetHeight;


    查看全部
  • scrollHeight和scrollWidth,获取网页内容高度和宽度。

    一、针对IE、Opera:

    scrollHeight 是网页内容实际高度,可以小于 clientHeight。

    二、针对NS、FF:

    scrollHeight 是网页内容高度,不过最小值是 clientHeight。也就是说网页内容实际高度小于 clientHeight 时,scrollHeight 返回 clientHeight 。

    三、浏览器兼容性

    var w=document.documentElement.scrollWidth
       || document.body.scrollWidth;
    var h=document.documentElement.scrollHeight
       || document.body.scrollHeight;

    注意:区分大小写

    scrollHeight和scrollWidth还可获取Dom元素中内容实际占用的高度和宽度。


    查看全部
  • 获得浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)的方法:

    一、对于IE9+、Chrome、Firefox、Opera 以及 Safari:

    •  window.innerHeight - 浏览器窗口的内部高度

    •  window.innerWidth - 浏览器窗口的内部宽度

    二、对于 Internet Explorer 8、7、6、5:

    •  document.documentElement.clientHeight表示HTML文档所在窗口的当前高度。

    •  document.documentElement.clientWidth表示HTML文档所在窗口的当前宽度。

    或者

    Document对象的body属性对应HTML文档的<body>标签

    •  document.body.clientHeight

    •  document.body.clientWidth

    在不同浏览器都实用的 JavaScript 方案:

    var w= document.documentElement.clientWidth
          || document.body.clientWidth;
    var h= document.documentElement.clientHeight
          || document.body.clientHeight;


    查看全部
  • 在代码编辑器<script>标签中,创建一个P标签,设置className属性,使用createTextNode创建文本节点"I love JavaScript!"。

    • ?不会了怎么办

    • <script type="text/javascript">

         var element = document.createElement("p");
         element.className = "message";
         var textNode = document.createTextNode("I love JavaScript!");
         element.appendChild(textNode);
         document.body.appendChild(element);
              
      </script> 


    查看全部
  • createTextNode() 方法创建新的文本节点,返回新创建的 Text 节点。

    语法:

    document.createTextNode(data)

    参数:

    data : 字符串值,可规定此节点的文本。

    我们来创建一个<div>元素并向其中添加一条消息,代码如下:

    运行结果:


    查看全部
  • 试一试,实现在HTML文档中创建一个链接,并设置相应属性。

    1. 在右边编辑器补充代码,完善createa(url,text)创建链接函数,参数1为链接地址,参数2为链接文本。函数中添加链接地址、文本、文字颜色属性。

    2. 调用createa函数,链接地址 http://www.imooc.com,文本为:慕课网

    • ?不会了怎么办

    • var body= document.body;
      //创建链接
      function createa(url,text)
      {
          var a = document.createElement("a");
          a.href = url;
          a.innerHTML = text;
          a.style.color = "red";
          body.appendChild(a);
      }
      // 调用函数创建链接
      createa("http://www.imooc.com/","慕课网");


    查看全部

举报

0/150
提交
取消
课程须知
你需要具备HTML、css基础知识,建议同学们也可以想学习下js入门篇,快速认识js,熟悉js基本语法,更加快速入手进阶篇!
老师告诉你能学到什么?
通过JavaScript学习,掌握基本语法,制作简单交互式页面

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!