码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript初步认识

时间:2016-06-17 23:58:16      阅读:427      评论:0      收藏:0      [点我收藏+]

标签:

一 。 JavaScrip的嵌入方式:

  ----- <li onclick="alert(‘Hello‘)">条目一</li>         内嵌在html中

  ------<li onclick="init()">条目一</li>                 

      <script>
        function init(){
          alert("Hello");
          }
      </script>                                            调用script标签中的方法

  -------<script href="1.js"></script>                 调用外部的js代码

 

二。 javascrip的组成

    ECMAScript(规范) + BOM(浏览器对象模型) + DOM(文档对象模型)

 

三。javascript的层次结构

        -------- screen

        -------- navigator

    window -------- document

        -------- history

           --------  location

        -------- .....

 

四。节点对象的获取方式

  document.getElementById("id");    通过ID获取指定节点对象

  document.getElementByTagName("TagName");      通过节点名称获取节点对象

      document.getElementByName("classname")        通过class=“username”指定的节点获取该节点,限定为表单节点

    

  document.form[]      获取页面所有的表单对象 <form>

  document.images[]      获取页面所有img标签对象 <img>

  document.links[]        获取页面所有超链接标签对象<a>

 

  利用节点关系获取(属性)

    parentNode(父节点)

    childNodes(子节点)

    firstChild(大儿子节点)

    lastChild (小儿子节点)

    nextSibling(下一个兄弟节点)

    previousSibling(上一个兄弟节点)

 

 五。 节点对象分类:

    元素节点  文本节点  属性节点

 

  六。 节点属性   

  a. nodeName(节点名称)
    元素节点的 nodeName 是标签名称
    属性节点的 nodeName 是属性名称
    文本节点的 nodeName 永远是 #text
    文档节点的 nodeName 永远是 #document

  b. nodeValue(节点值)
    对于文本节点,nodeValue 属性包含文本。
    对于属性节点,nodeValue 属性包含属性值。
    nodeValue 属性对于文档节点和元素节点是不可用的。

  c. nodeType(节点类型) : nodeType 属性可返回节点的类型。
    标签节点的类型值是 1
    属性节点的类型值是 2
    文本节点的类型值是 3

 

七。节点的增删改查操作

  a. 节点的查操作如上

  b. 节点的增加操作    appendChild()或 innerHtml方式

  c. 节点的删操作       removeChild()

  d.节点改操作          replaceChild( nodeA,nodeB)  用nodeA节点替换节点nodeB

  e. 节点创建操作      document.createElement() : 创建一个标签节点     docuemnt.createTextNode("内容") :创建一个文本节点

 

八。 javascript代码设置定时器

    var timer = setTimerOut(function() , time);  调用一次

    var timer = setInterval(func(), time);    反复被调用

      ---clearTimeout(timer)  移除由setTimeout()创建的定时器

      ---clearInterval(timer)  移除由setInterval()创建的定时器

 

九。节点对象在做动画时注意:

   1. offsetLeft  offsetTop offsetWidth offsetheigh  获取元素的左边距 右边距 宽度(包括border padding) 高度(包括border padding)

   2. 元素没有被style->position属性修饰,改变其left,right属性不生效,但可以通过marginLeft marginTop可以改变位置。

     3. 在页面内置的style属性中修饰的属性是无法通过javascrip直接拿到,如:    

      <head>
        <meta charset="UTF-8">
        <title>test</title>
        <style>
          li{
            width: 160px;
            height: 80px;
            background-color: yellow;
            margin-top: 50px;
            text-align: center;
          }
        </style>
      </head>

      <javascript>     

        function getWidth(){
          var div = document.getElementById("id");
          return div.style.width;
          }

      <javascript>

       这种方式是无法拿去到width的值,因为他被定义在css样式表中。但是可以通过如下方式获取:

    function getStyle(obj,attr){

      // 兼容IE
      if(obj.currentStyle){
        return obj.currentStyle[attr];
      }else{

        //兼容市面上大部分的浏览器
        return getComputedStyle(obj,false)[attr];
        }
      }

 

十: javascript的演示代码

  

<!DOCTYPE html>
  <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>test</title>
    <style>
      li{
      width: 160px;
      height: 80px;
      background-color: yellow;
      margin-top: 50px;
      text-align: center;
       }
    </style>
  </head>
    <script href="1.js">
      window.onload = function(){
      var ali = document.getElementsByTagName("li");
      for(var i=0;i<ali.length;i++){
        ali[i].onmouseover = function(){
        startMove(this,400);
        }
      ali[i].onmouseout = function(){
      startMove(this,160);
      }
     }
    }

    function startMove(obj,Itarger){
    clearInterval(obj.timer);
    obj.timer = setInterval(function(){
    var currentwidth = obj.offsetWidth;
    var speed = (Itarger - currentwidth)/10;
    speed = speed>0? Math.ceil(speed):Math.floor(speed);
    if(currentwidth == Itarger){
      clearInterval(obj.timer);
     }else{
      obj.style.width = currentwidth + speed +"px";
     }
   },30);
  }

    function getStyle(obj,attr){
    if(obj.currentStyle){
      return obj.currentStyle[attr];
    }else{
    return getComputedStyle(obj,false)[attr];
  }
}
</script>
<body>
<ul>
<li>条目一</li>
<li>条目二</li>
<li>条目三</li>
<li>条目四</li>
</ul>

</body>
</html>

 

 

 

    

 

JavaScript初步认识

标签:

原文地址:http://www.cnblogs.com/android-er/p/5595394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!