为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
JavaScript进阶篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript进阶篇

慕课官方号 页面重构设计
难度入门
时长 8小时55分
  • <!DOCTYPE html>

    <html lang="en">


    <head>

        <meta charset="UTF-8">

        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <meta http-equiv="X-UA-Compatible" content="ie=edge">

        <title>Document</title>



        <style>

            * {

                margin: 0;

                padding: 0;

            }


            div {

                margin: 0 auto;

                width: 25%;

            }


            #table {


                border-collapse: collapse;

                width: 100%;

            }


            td,

            th {

                border: 1px solid red;


            }

        </style>

    </head>


    <body>

        <div>

            <table id="table" >

                <tr>

                    <th>学号</th>

                    <th>姓名</th>

                    <th>操作</th>

                </tr>


                <tr>

                    <td>xh001</td>

                    <td>王小明</td>

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

                    <!--在删除按钮上添加点击事件  -->

                </tr>


                <tr>

                    <td>xh002</td>

                    <td>刘小芳</td>

                    <td><a href="javascript:console.log('a',this);" onclick="dele(this)">删除</a></td>

                    <!--在删除按钮上添加点击事件  -->

                </tr>

            </table>

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

            <!--在添加按钮上添加点击事件  -->

        </div>

        <script type="text/javascript">


            window.onload = function (){

                var cc=document.getElementsByTagName("tr");

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

                    var tr= cc[i];

                  

                    

                    tr.setAttribute("onmouseout","bb(this)");

                    tr.setAttribute("onmouseover","aa(this)");

                }

                


            }

            function aa(b){

                b.setAttribute("style","background-color:red");

            }

            function bb(c){

                c.removeAttribute("style");

            }

            // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。





            


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

            var num = 0;

            function add() {

                num++;

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

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

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

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

                td1.innerHTML = "xh00" + num;

                td2.innerHTML = "第" + num + "个学生";

                td3.innerHTML = "<a href='#' onclick='dele(this);'>删除<a>";

                tr.appendChild(td1);

                tr.appendChild(td2);

                tr.appendChild(td3);

                var tab = document.getElementsByTagName("tbody")[0];

                tab.appendChild(tr);

                tr.setAttribute("onmouseout","bb(this)");

                    tr.setAttribute("onmouseover","aa(this)");

            }



               // 创建删除函数

               function dele(obj){

                   //debugger;

                  var node=obj.parentNode.parentNode;

                   var tab2=document.getElementById("table").querySelector("tbody");

                    // node.parentNode.removeChild(node);

                    tab2.removeChild(node);

               }

               


        </script>

        <!-- <div class="newsBox">

                    <h1 class="newsTitle">慕课网获App Store强力推荐荣登四榜单</h1>

                    <p class="newsInfo">发布人:Admin 发布时间:2014-08-01 浏览:5321次</p>

                    <div class="newsContent">

                        <p> 8月伊始,慕课网App即获得了App Store的多个推荐,同时出现在“免费App精选”、“致毕业生”、“学而不倦”以及“轻松学编程”四个榜单中。这款IT编程学习类的App为何如此备受青睐?趣味视频课程、高清画面质感、在线离线随身学习……优质的课程内容结合良好的用户体验,慕课网App无疑是IT学习的最佳选择。</p>

                        <p> App Store力荐慕课网荣登四榜单</p>

                        <p>App Store因公平著称,能被其推荐是每一款App梦寐以求的荣誉,慕课网则一举占据了其四个榜单,包括精品推荐首页“合集”版块下“免费App精选”中的“新品”推荐、“合集”版块“致毕业生”中“学无止境”推荐、教育类别“合集”版块下“学而不倦”中的推荐以及“轻松学编程”版块推荐。</p>

                        <p><img src=" http://img1.sycdn.imooc.com//53edaa5a0001c86705000420.jpg" width="500" height="420" alt=""/></p>

                        <p>事实上,慕课网登上App Store榜单并非首次。早在2014年5月,慕课网就荣登App Store 精品推荐榜首,同时登上“教育”类别下“优秀新App”榜首,并获评“五月最佳”精彩App。随后,慕课网App接连出现在“致毕业生”、“免费App精选”、“夏日学堂”等榜单中。</p>

                        <p>从App Store的持续推荐以及“优秀”、“精选”的肯定中不难看出,慕课网在IT在线学习领域以及教育类App中得到了用户的认可。</p>

                        <p>新功能上线持续提升用户体验一款好的产品同样需要不断改进来满足用户需求。慕课网App上线至今进行了多个版本的迭代,不断完善产品、提升用户体验,ios最新的2.1.0版本于7月20日更新,上线了大量新功能。</p>

                        <p>明确、清晰的课程分类能够让用户迅速找到感兴趣的课程,本次慕课网就上线了全新的课程分类方式,点击“全部课程”即可显示出全部的技术语言种类以及视频课程数量,全部在线课程一目了然。</p>

                        <p>不知道讲师在哪里?此版本更新中添加了讲师认证,不仅对讲师空间进行了认证,在课程讨论和笔记中,通过认证标识,一眼可以看到哪个是讲师回复。</p>

                        <p>此外,慕课网App在最新版本中调整了下拉刷新和上拉加载的效果;课程练习部分增加了习题解析;对半透化效果、全屏播放器按钮进行了优化,并新增了编程课、ps课程。一系列的改进相信能为IT学习用户带来更好的学习体验。</p>

                        <p>慕课网App在精品视频课程的基础上,不断优化用户体验,帮助IT学习者迅速入门、提升技能,以优秀的产品基因获得App Store的多个推荐,使更多用户有机会使用这款IT学习软件,体验学习的简单和快捷。</p>

                    </div>

                </div> -->

    </body>


    </html>


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

    2019-09-18

  • 2.8比较操作符 jq1= ; document.write(jq1)
    查看全部
  • java关键字

    http://img1.sycdn.imooc.com//5d806f7b0001727603860549.jpg

    查看全部
  • <!DOCTYPE  HTML>

    <html >

    <head>

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

    <title>流程控制语句</title>

    <script type="text/javascript">


     //第一步把之前的数据写成一个数组的形式,定义变量为 infos

     var infos=[['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小D','女',21,'大一'],['小E','女',22,'大四'],['小F','男',21,'大一'],['小G','女',22,'大二'],['小H','女',20,'大三'],['小I','女',20,'大一'],['小J','男',20,'大三']]

     

     //第一次筛选,找出都是大一的信息

    var num=0;

    var array=new Array();

    for(var i=0;i<infos.length;i++){

        for(var j=0;j<infos[i].length;j++){

            var cc=infos[i][j];

            switch(cc){

                case "大一":

                array[num]=infos[i];

                num++;

                

            }

        }

    }

     //第二次筛选,找出都是女生的信息

     var newnum=0;

    var ar=new Array();

     for(var k=0;k<array.length;k++){

         for(var l=0;l<array[k].length;l++){

             var dd=array[k][l];

             switch(dd){

                 case "女":

                     ar[newnum]=array[k];

                     newnum++;

             }

             

         }

     }

     document.write(array+"<br>");

     document.write(ar);

      

    </script>

    </head>

    <body>

    </body>

    </html>


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

    2019-09-17

  • 以人来举例说明,人有能标识身份的身份证,有姓名,有类别(大人、小孩、老人)等。

    1. ID 是一个人的身份证号码,是唯一的。所以通过getElementById获取的是指定的一个人。

    2. Name 是他的名字,可以重复。所以通过getElementsByName获取名字相同的人集合。

    3. TagName可看似某类,getElementsByTagName获取相同类的人集合。如获取小孩这类人,getElementsByTagName("小孩")。

    把上面的例子转换到HTML中,如下:

    <input type="checkbox" name="hobby" id="hobby1">  音乐

    input标签就像人的类别。

    name属性就像人的姓名。

    id属性就像人的身份证。

    方法总结如下:

    注意:方法区分大小写

    通过下面的例子(6个name="hobby"的复选项,两个按钮)来区分三种方法的不同:

      <input type="checkbox" name="hobby" id="hobby1">  音乐
      <input type="checkbox" name="hobby" id="hobby2">  登山
      <input type="checkbox" name="hobby" id="hobby3">  游泳
      <input type="checkbox" name="hobby" id="hobby4">  阅读
      <input type="checkbox" name="hobby" id="hobby5">  打球
      <input type="checkbox" name="hobby" id="hobby6">  跑步 
      <input type="button" value = "全选" id="button1">
      <input type="button" value = "全不选" id="button1">

    1. document.getElementsByTagName("input"),结果为获取所有标签为input的元素,共8个。

    2. document.getElementsByName("hobby"),结果为获取属性name="hobby"的元素,共6个。

    3. document.getElementById("hobby6"),结果为获取属性id="hobby6"的元素,只有一个,"跑步"这个复选项。

     


    查看全部
  • 返回带有指定标签名的节点对象的集合。返回元素的顺序是它们在文档中的顺序。

    语法:

    document.getElementsByTagName(Tagname)

    说明:

    1. Tagname是标签的名称,如p、a、img等标签名。

    2. 和数组类似也有length属性,可以和访问数组一样的方法来访问,所以从0开始。

    看看下面代码,通过getElementsByTagName()获取节点。

     


    查看全部
  • 返回带有指定名称的节点对象的集合。

    语法:

    document.getElementsByName(name)

    与getElementById() 方法不同的是,通过元素的 name 属性查询元素,而不是通过 id 属性。

    注意:

    1. 因为文档中的 name 属性可能不唯一,所有 getElementsByName() 方法返回的是元素的数组,而不是一个元素。

    2. 和数组类似也有length属性,可以和访问数组一样的方法来访问,从0开始。

    看看下面的代码:

    运行结果:

     


    查看全部
  • 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。

    先来看看下面代码:

    将HTML代码分解为DOM节点层次图:

    HTML文档可以说由节点构成的集合,DOM节点有:

    1. 元素节点:上图中<html>、<body>、<p>等都是元素节点,即标签。

    2. 文本节点:向用户展示的内容,如<li>...</li>中的JavaScript、DOM、CSS等文本。

    3. 属性节点:元素属性,如<a>标签的链接属性href="http://www.imooc.com"。

    节点属性:

    遍历节点树:

    以上图ul为例,它的父级节点body,它的子节点3个li,它的兄弟结点h2、P。

    DOM操作:

    注意:前两个是document方法。


    查看全部
    0 采集 收起 来源:认识DOM

    2019-09-16

  • javaScript 关键字和保留字

    http://img1.sycdn.imooc.com//5d7f111a00019e0903550482.jpg

    查看全部
  • 1. screen.availWidth 属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如任务栏。

    2. screen.availHeight 属性返回访问者屏幕的高度,以像素计,减去界面特性,比如任务栏。

    注意:

    不同系统的任务栏默认高度不一样,及任务栏的位置可在屏幕上下左右任何位置,所以有可能可用宽度和高度不一样。

    我们来获取屏幕的可用高和宽度,代码如下:

    <script type="text/javascript">
    document.write("可用宽度:" + screen.availWidth);
    document.write("可用高度:" + screen.availHeight);
    </script>

    注意:根据屏幕的不同显示值不同。


    查看全部
  • window.screen 对象包含有关用户屏幕的信息。
    1. screen.height 返回屏幕分辨率的高
    2. screen.width 返回屏幕分辨率的宽
    注意:
    1.单位以像素计。
    2. window.screen 对象在编写时可以不使用 window 这个前缀。
    我们来获取屏幕的高和宽,代码如下:

    <script type="text/javascript">
      document.write( "屏幕宽度:"+screen.width+"px<br />" );
      document.write( "屏幕高度:"+screen.height+"px<br />" );
    </script>


    查看全部
  • screen对象用于获取用户的屏幕信息。

    语法:

    window.screen.属性

    对象属性:


    查看全部
    0 采集 收起 来源:screen对象

    2019-09-15

  • 返回用户代理头的字符串表示(就是包括浏览器版本信息等的字符串)

    语法

    navigator.userAgent

    几种浏览的user_agent.,像360的兼容模式用的是IE、极速模式用的是chrom的内核。

    使用userAgent判断使用的是什么浏览器(假设使用的是IE8浏览器),代码如下:

    function validB(){ 
      var u_agent = navigator.userAgent; 
      var B_name="Failed to identify the browser"; 
      if(u_agent.indexOf("Firefox")>-1){ 
          B_name="Firefox"; 
      }else if(u_agent.indexOf("Chrome")>-1){ 
          B_name="Chrome"; 
      }else if(u_agent.indexOf("MSIE")>-1&&u_agent.indexOf("Trident")>-1){ 
          B_name="IE(8-10)";  
      }    document.write("B_name:"+B_name+"<br>");
        document.write("u_agent:"+u_agent+"<br>"); }

    运行结果:

     


    查看全部
    0 采集 收起 来源:userAgent

    2019-09-15

  • Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。

    对象属性:

    查看浏览器的名称和版本,代码如下:

    <script type="text/javascript">
       var browser=navigator.appName;
       var b_version=navigator.appVersion;
       document.write("Browser name"+browser);
       document.write("<br>");
       document.write("Browser version"+b_version);</script>

                 


    查看全部
    0 采集 收起 来源:Navigator对象

    2019-09-15

  • location用于获取或设置窗体的URL,并且可以用于解析URL。

    语法:

    location.[属性|方法]

    location对象属性图示:

    location 对象属性:

    location 对象方法:


    查看全部
    0 采集 收起 来源:Location对象

    2019-09-15

举报

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

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