zoukankan      html  css  js  c++  java
  • day03 js基础


    案例1-定时弹出广告
    需求:
    打开页面后4秒,展示广告,2秒之后,该广告隐藏.再停2秒,继续展示.
    技术分析:

    定时器(BOM-window对象)
      setInterval(code,毫秒数):周期执行
      setTimeout(code,毫秒数):延迟多长事件后 只执行一次.
    清除定时器
      clearInterval(id)
      clearTimeout(id):

    ////////////////////////
    1.html页面,先把广告隐藏
    2.页面加载成功事件 onload
    3.编写函数
    定时器:
    操作元素:
      document.getElementById("")
    操作css属性
      document.getElementById("id").style.属性="值"
      属性:就是css中属性 css属性有"-" 例如:backgroud-color
      若有"-" 只需要将"-"删除,后面第一个字母变大写即可
    注意:
      只要是window对象的属性和方法,可以把window省略
      window.onload 等价于 onload
      window.setInterval() 等价于 setInterval()
    ////////////////////
    bom(浏览器对象模型)总结
    所有的浏览器都有5个对象
    window:窗口
    location:定位信息 (地址栏)
    history:历史
    window对象详解:
    如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,
    并为每个框架创建一个额外的 window 对象。
    常用的属性:
    通过window可以获取其他的四个对象
    window.location 等价于 location
    window.history 等价于 history
    ...
    常用的方法
    消息框
      alert("...."):警告框
      confirm("你确定要删除吗?"):确定框 返回值:boolean
      prompt("请输入您的姓名"):输入框 返回值:你输入的内容
    定时器
      设置定时器
      清除定时器
    打开和关闭
      open(url):打开
      close():关闭
    /////////////////////////////////////////////////////////////
    location:定位信息
    常用属性:
    href:获取或者设置当前页面的url(定位信息)

    location.href; 获取url
    location.href="...";设置url 相当于 a标签
    //////////////////////
    history:历史
    back();后退
    forward():向前
    ★go(int)
    go(-1) 相当于 back()
    go(1) 相当于 forward()
    //////////////////////////////////////////////////////////////////////////
    案例2-表单校验plus
    需求:
    提示信息不用弹出框,将信息追加在文本框后面
    技术分析:
    确定事件 表单提交的时候 onsubmit
    文本框失去焦点的时候 onblur


    步骤分析:
    1.表单
    2.表单提交的时候 确定事件 onsubmit()
    3.校验用户名和密码
    4.获取用户名和密码的对象及值
    5.判断内容,当为空的时候,获取响应的span元素
    往span元素中显示错误信息
    ////////////////////////////////////////////////////////////
    注意:
    在方法中(function()) this指代的是当前的元素(当前dom对象)
    例如:
    <input type="text" name="username" id="username" onblur="loseFocus(this.value)">
    方法:
    function loseFocus(obj){
    alert(obj);
    }
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    事件总结:
    常见的事件:
      焦点事件:★   onfocus  onblur
      表单事件:★  onsubmit       表单使用  onchange 改变  下拉框使用
      页面加载事件:★  onload
      鼠标事件(掌握)  onclick
      鼠标事件(了解)  ondblclick:双击 onmousedown:按下  onmouserup:弹起           onmousemove:移动  onmouserover:悬停  onmouserout:移出  键盘事件(理解)  onkeydown:按下  onkeyup:弹起  onkeypress:按住


    了解
      阻止默认事件的发生  preventDefault
      阻止事件传播     preventPropaganda
    //////////////////////////////////////////////////////////////////////////////////////////////////////////
    案例3-隔行换色
    需求:
    一个表格,隔一行换一个色
    技术分析:
    事件:onload
    获取元素:dom操作

    获取元素:
    document.getElementsByTagName("标签名"):通过标签名获取一种元素(多个)返回一个数组

    步骤分析:
    1.html表格一加载的时候 确定事件 onload
    2.编写函数
    a.获取元素(所有的tr元素)
    b.操作(若当前行是偶数的话加一个样式,若是奇数的话,加另一个样式)
    ////////

    //页面加载成功
    onload=function(){
        //1.获取所有的tr
        var arr=document.getElementsByTagName("tr");
        //2.判断奇偶数 添加不同的样式 遍历数组
        for(var i=1;i<arr.length;i++){
            if(i%2==0){
                arr[i].style.backgroundColor="#FFFFCC";
            }else{
                arr[i].style.backgroundColor="#BCD68D";
            }
        }
    
    }                    
    View Code


    //////////////////////////
    案例4:全选或者全不选
    步骤分析:
    1.确定事件 最上面那个复选框的单击事件 onclick
    2.编写函数:让所有的复选框和最上面的复选框状态保持一致
    a.获取最上面这个复选框选中状态 通过checkbox的checked属性即可
    b.获取其他的复选框,设置他们的checked属性即可
    可以通过以下两种方案获取元素
    document.getElementsByClassName():需要给下面所有的复选框添加class属性
    document.getElementsByName():需要给下面所有的复选框添加name//////////////////////////////////dom(文档对象模型)

    当浏览器接受到html代码的时候,浏览器会将所有的代码装载到内存中,形成一棵树(document树)
    节点(Node)
    文档节点 document  元素节点 element  属性节点 attribute  文本节点 text
    获取节点:
    通过document可以获取其他节点:
    常用方法:
    document.getElementById("id值"):获取一个特定的元素
    document.getElementsByTagName("标签名"):通过标签名获取一种元素(多个)
    document.getElementsByClassName("class属性的值"):通过class属性获取一类元素(多个)
    document.getElementsByName("name属性的值"):通过name属性获取一类元素(多个)
    设置获取获取节点的value属性
    dom对象.value;获取
    dom对象.value="";设置
    设置或者获取节点的标签体
    dom对象.innerHTML;获取
    dom对象.innerHTML="";设置
    获取或者设置style属性
    dom对象.style.属性;获取
    dom对象.style.属性="";设置
    获取或者设置属性
    dom对象.属性

    appendChild(dom对象):在一个元素下添加孩子
    ////////////////////////////////////////////////////////////////////////////////
    案例5-左右选中.
    需求:
    技术分析:
    1.确定事件,按钮的单击事件
    2.编写函数:
    点击移动单|多个的:
    a.获取左边选中的选项 select对象. selectedOptions--数组
    b.将其追加到右边的下拉选中
    rightSelect对象.appendChild(option);
    点击移动所有的
    a.获取左边的所有的选项
    b.一个个的追加过去
    ///////////////////////
    案例6-省市联动
    需求:  选中省的时候,动态的查询当前省下的所有市,然后展示在市的下拉选中
    new Array();//长度为0
    new Array(size);//指定长度的
    new Array(e1,e2..);//指定元素
    非官方  var arr4=["aa","bb"];
    注意:
      数组是可变的
      数组可以存放任意值
    常用方法:(了解)
    存放值:对内容的操作
      pop():弹 最后一个
      push():插入 到最后

      shift():删除第一个
      unshift():插入到首位
    打印数组:
      join(分隔符):将数组里的元素按照指定的分隔符打印
    拼接数组:
      concat():连接两个或更多的数组,并返回结果。
    对结构的操作:
      sort();排序
      reverse();反转

    ///////////////////////////////////////////////////////////////////////////////////////////////
    引用类型总结:
    原始类型中的String Number Boolean都是伪对象,可以调用相应的方法
    Array:数组
    String:
      new String(值|变量);//返回一个对象
      String(值|变量);//返回原始类型
    常用方法:
      substring(start,end):[start,end)
      substr(start,size):从索引为指定的值开始向后截取几个
      charAt(index):返回在指定位置的字符。
      indexOf(""):返回字符串所在索引
      replace():替换
      split():切割
      常用属性:length
    Boolean:
      new Boolean(值|变量);
      Boolean(值|变量);
      非0数字 非空字符串 非空对象 转成true
    Number
      new Number(值|变量);
      Number(值|变量);
    注意:

      null====>0
      fale====>0 true====>1
      字符串的数字=====>对应的数字
      其他的NaN
    Date:
      new Date();
      常用方法:
      toLocalString()
      RegExp:正则表达式
    语法:
      直接量语法 /正则表达式/参数
      直接量语法 /正则表达式/
      new RegExp("正则表达式")
      new RegExp("正则表达式","参数")
    参数:
      i:忽略大小写
      g:全局
    常用方法:
      test() :返回值为boolean
    Math:
      Math.常量|方法
      Math.PI
      Math.random() [0,1)
    全局:
      decodeURI() 解码某个编码的 URI。
      encodeURI() 把字符串编码为 URI。

    Number():强制转换成数字
    String():转成字符串

    parseInt():尝试转换成整数
    parseFloat():尝试转换成小数
    eval() 计算 JavaScript 字符串,并把它作为脚本代码来执行。 

  • 相关阅读:
    android canvas drawtext 字高
    ios修改UIIMage大小
    聊聊视频播放那些事2
    聊聊视频播放那些事1
    重入锁 ReentrantLock (转)(学习记录)
    setHasFixedSize(true)的意义 (转)
    ActivityLifecycleCallbacks
    NSSet
    阿里云ECS服务器IIS和WampServer同时运行
    ASP.NET MVC4网站部署在阿里ECS云服务器(WIndows Server 2012+IIS8环境)
  • 原文地址:https://www.cnblogs.com/YKang/p/7323303.html
Copyright © 2011-2022 走看看