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

JavaScript进阶篇

慕课官方号 页面重构设计
难度入门
时长 8小时55分
  • a标签中有点击事件

    我们常用的在a标签中有点击事件:

    a href="javascript:js_method();"

    这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句

    2. a href="javascript:void(0);" onclick="js_method()"

    这种方法是很多网站最常用的方法,也是最周全的方法,onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏。

    3.a href="javascript:;" onclick="js_method()"

    这种方法跟跟2种类似,区别只是执行了一条空的js代码。

    4.a href="#" onclick="js_method()"

    这种方法也是网上很常见的代码,#是标签内置的一个方法,代表top的作用。所以用这种方法点击后网页后返回到页面的最顶端。

    5.a href="#" onclick="js_method();return false;"

    这种方法点击执行了js函数后return false,页面不发生跳转,执行后还是在页面的当前位置。

    我看了下taobao的主页,他们采用的是第2种方法,而alibaba的主页是采用的第1种方法,和我们的区别是每个href里的javascript方法都用try、catch包围。

    综合上述,在a中调用js函数最适当的方法推荐使用:

    a href="javascript:void(0);" onclick="js_method()"

    a href="javascript:;" onclick="js_method()"

    a href="#" onclick="js_method();return false;"


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

    2018-04-26

  • var body = document.body;

    var elm = document.createElement("p");

    elm.className = "message";

    var textnode = document.createTextNode("I love javascript!");

    elm.appendChild(textnode);

    body.appendChild(elm);


    查看全部
  • var main = document.body;

    //创建链接

    function createa(url,text){

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

        a.href = url;

        a.innerHTML = text;

        a.style.color = "blue";

        main.appendChild(a);

    }

    // 调用函数创建链接

    createa("http://www.baidu.com","慕课网");


    查看全部
  • <!DOCTYPE html>

    <html>

     <head>

      <title>浏览器对象</title>  

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

     </head>

     <body>

      <!--先编写好网页布局-->

      <h4>操作成功</h4>

      <p><span id="s">5</span>秒后回到主页<a id="go" href="javascript:history.go(-1)">返回</a></p>

      

      

      <script type="text/javascript">  

      var s1=document.getElementById("s").innerHTML;

      setInterval("if(1<s1){document.getElementById('s').innerHTML=s1--;}else{location.assign('http://www.baidu.com');}",1000);


      

     </script> 

    </body>

    </html>


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

    2018-04-26

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

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

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

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

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

    注意:

    1. 区分大小写

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


    查看全部
  • 算术操作符 比较操作符 逻辑操作符 "="赋值符号

    查看全部
  • insertBefore()方法是在已有的子节点前面插入一个新的节点,插入的为子节点,因此需要使用父节点进行插入操作。


    查看全部
  • 会改变本身数组myarr

    查看全部
    0 采集 收起 来源: 数组排序sort()

    2018-04-26

  •       function replaceMessage(){

            var oldnode = document.getElementById("oldnode");

            var oldHTML = oldnode.innerHTML;

            var newnode = document.createElement("i");

            newnode.innerHTML = "This is i";

            oldnode.parentNode.replaceChild(newnode,oldnode);

            newnode.innerHTML = oldHTML;

           }  


    查看全部
  • function clearText() {

      var content=document.getElementById("content");

      // 在此完成该函数

        for(var i = content.childNodes.length - 1; i > 0; i--){

            var x = content.removeChild(content.childNodes[i]);

            x = null;

        }  

    }


    查看全部
  • 1.需要注意这里的true是布尔值,不需要加引号,否则会变成文本值

    2. 变量值=true 与 变量值==true 是不同的。 前者是将true的值赋予给变量值,后者才是判断变量值与true的关系。

    查看全部
  •   var li = document.getElementsByTagName("li");

      var newnode = document.createElement("li");

      newnode.innerHTML="This is a new li";

      otest.insertBefore(newnode,li[0]);


    查看全部
  •     function get_nextSibling(n){

            var x=n.nextSibling;

            while (x && x.nodeType!=1){

                x=x.nextSibling;

            }

            return x;

        }

        function get_previousSibling(n){

            var x=n.previousSibling;

            while (x && x.nodeType!=1){

                x=x.previousSibling;

            }

            return x;

        }


        var x=document.getElementsByTagName("li")[0];

        document.write(x.nodeName);

        document.write(" = ");

        document.write(x.innerHTML);

        

        var y=get_nextSibling(x);

        

        if(y!=null){

            document.write("<br />Y nextsibling: ");

            document.write(y.nodeName);

            document.write(" = ");

            document.write(y.innerHTML);

        }else{

          document.write("<br>已经是最后一个节点");      

        }

        var z = get_previousSibling(y);

        if(z!=null){

            document.write("<br />Z previoussibling: ");

            document.write(z.nodeName);

            document.write(" = ");

            document.write(z.innerHTML);

        }else{

          document.write("<br>已经是最后一个节点");      

        }


    查看全部
    0 采集 收起 来源:访问兄弟节点

    2018-04-26

  • <!DOCTYPE HTML>

    <html>

    <head>

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

    <title>无标题文档</title>

    </head>

    <body>

    <ul id="con">

    <li id="lesson1">javascript

      <ul> 

          <li id="tcon"> 基础语法</li>

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

          <li>函数</li>

          <li>事件</li>

          <li>DOM</li>

      </ul>

    </li>

    <li id="lesson2">das</li>

    <li id="lesson3">dadf</li>

    <li id="lesson4">HTML/CSS 

      <ul>

        <li>文字</li>

        <li>段落</li>

        <li>表单</li>

        <li>表格</li>  

      </ul> 

    </li></ul>  

    <script  type="text/javascript">    

       var mylist = document.getElementById("tcon"); 

        document.write(mylist.parentNode.parentNode.parentNode.lastChild.innerHTML);

    </script> 


    </body>

    </html>


    查看全部
  • <!DOCTYPE HTML>

    <html>

    <head>

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

    <title>nextSibling</title>

    </head>

    <body>

    <ul id="u1">   

                <li id="a">javascript</li>   

                <li id="b">jquery</li>   

                <li id="c">html</li>   

            </ul>   

            <ul id="u2">   

                <li id="d">css3</li>   

                <li id="e">php</li>   

                <li id="f">java</li>   

            </ul>   

    <script type="text/javascript">

        function get_nextSibling(n){

            var x=n.nextSibling;

            while (x && x.nodeType!=1){

                x=x.nextSibling;

            }

            return x;

        }


        var x=document.getElementsByTagName("li")[0];

        document.write(x.nodeName);

        document.write(" = ");

        document.write(x.innerHTML);

        

        var y=get_nextSibling(x);

        

        if(y!=null){

            document.write("<br />nextsibling: ");

            document.write(y.nodeName);

            document.write(" = ");

            document.write(y.innerHTML);

        }else{

          document.write("<br>已经是最后一个节点");      

        }


    </script>

    </body>

    </html>


    查看全部
    0 采集 收起 来源:访问兄弟节点

    2018-04-26

举报

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

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