JS2

案例1_定时弹出广告    
    步骤分析:
    1.htm 页面,先把广告隐藏
    2.页面加载成功事件 oncload
  
 3.编写函数
        定时器
        获取元素
        修改元素的样式(修改CSS属性)

在这个例子中用到的页面加载成功事件,定时器都是BOM(浏览器对象模型)中window 对象的方法


关于BOM浏览器对象模型总结:


    所有的浏览器都有5个对象:
        window:窗口对象,如果这个页面包含frame 框架,那么,浏览器会在创建一个window 对象
        location:定位信息,地址栏.访问过的url
        history:浏览的地址历史(前进和后退就是利用的它)
        Navigator:浏览器的信息
        Screen:屏幕的信息
/

1.window 对象:使用他的方法都可以直接省略window
常见属性:
    通过window 对象可以获取其他四个对象:window.history=history
常用方法:
    1.消息框:
            alert(...):警告框
            confirm("你确定要删除吗?"):确定框   有返回值:boolean
            prompt("请输入你的信息"):输入框
    2.定时器:定时器的写法
            setInterval(show,4000);
            setTimeout("show()",4000);    

    3.打开和关闭:
    open(url)
    close();    
//

2.location:定位信息
    常用属性:
        1.href:获取或者设置当前页面的url(定位信息)
        location.href:获取url
        location.href=""   :设置当前页面的url  .相当于a 标签,点击完页面就跳转
///

3.history:历史
    常用的方法:
        1.back():向后退
        2.forward():向前
        3.go(a): a=1 向前   a=-1  向后
//
/

案例3:升级版表单校验
之前简陋版的问题:每一次我们要点击提交对的时候才会收到,提示的信息
我们希望的效果:输入每一栏信息时不符合要求,会直接在后面显示出来,更方便于用户的使用
技术分析:
1.确定事件
        表单提交事件   onsubmit
        文本栏失去焦点事件  onblur
2.编写函数
3.获取元素
4.操作元素:
        获取元素的值    操作标签体     操作标签value 属性
///
步骤分析:
1.表单
2.提交表单的时候确认事件  onsubmit
3.校验用户名和密码
4.获取用户名和密码的对象值
5.判断内容,进行校验


总结:
1.在函数中(事件引出的函数)传入实参this :表示的是当前元素对象(BOM对象)    
2.常见事件(在这个案例中用到了很多事件
    1.焦点事件:onfocus onblur
    2.表单事件:onsubmit   onchange
    3.页面加载事件:onload        
    

复习事件绑定的方式:
    1.通过元素的事件属性
    2.通过给元素对象派发事件
阻止默认事件的发生:
 preventDefualt();
     格式:定义函数时:
             function 函数(){
                 var event||window.event;
                //阻止默认事件的发生
                event.preventDefault();
             }    
 阻止事件的传播:
 stopPropagation:
 格式:定义函数时:
             function 函数(){
                 var event||window.event;
                //阻止默认事件的发生
                event. stopPropagation();
             }    
 
    
隔行换色案例:
技术分析:
1.确定事件,onload
2.获取元素:
    通过ID一次获取一个元素:docunment.getElementById("id值")
    Dom 操作:document.getElementByTagName("标签名") :通过标签名获取一组元素。返回的是数组
Array:
    常用属性:
    length

步骤分析:
1.确认事件:加载的时候
2.编写函数:
    a.获取当前所有元素
    b.获取所有元素的行编号,判断奇偶。从而添加不一样的颜色

//
案例5:多选框,全选或者是全不选
步骤分析:
1.确定事件:最上面的复选框(input的checkbox 对象)的单击事件 onclick
2.编写函数:保证下面的复选框对的状态和最上面的复选框是一样的(checked    ="checked"就是选中状态
    如何获取复选框的状态:checkbox 对象有一个checked 属性,返回值为boolean
            获取状态:通过checkbox 对象获取checked 属性的值
    获取其他的复选框的checked 属性让他们保持一致
//
//
/


Dom(文档对象模型):

在学习DOM文档对象时,一定要先明白,事件(也是元素的属性)和函数

常见事件:

1.焦点:onfocus//onblur

2.表单事件:onsubmit//onchange

3.页面或者是元素的加载:onload

经常使用的方式是:window.οnlοad=function(){}  直接在<script></script>中写

然后就是明白函数与事件的绑定(见笔记JS1)

之后就是学习DoM 对象
当浏览器接收html 代码时,浏览器会将所有的代码装载到内存中,形成一棵树(document树) 

       


1.节点(Node):
        文档节点 document
        元素节点 element
        属性节点 attribute
        文本节点 text
2.获取节点:
    通过document 可以获取节点:获取到的是元素对象
        常用方法:
        document.getElenmentById("Id 值"):获取到某个特定元素
        document.getElenmentsBytagName("标签体的名字"):获取一组元素
        document.getElenmentsByClassName("class属性的值"):获取一组元素
        document.getElenmentsByName("name属性的值"):获取一组元素        
 3.获取节点的属性:Dom对象.属性
   dom对象.value;//获取value 的值
   dom对象.value="";//设置value 的值
   dom对象.innerHTML;获取标签体的内容(文字内容)
   dom对象.innerHTML=""设置标签体的内容    
   appendChild(dom对象):在这个元素下添加孩子    
//

///


案例:左右选中dom的练习
技术分析:
    1.确定事件:单机
    2.编写函数
     左边为下拉选项
     左边点击多个选项:
     下拉选项中(select对象):
            获取下拉选项中的所有选项:select对象.options 
            遍历数组,判断是否选中:options.selected 判断是否选中        
     获取左边点击的对象,将其追加到右边的文本框中
     右边的下拉选项.appendChild(选中的选项)
///
案例:省市联动:
在之前的个人信息对的表单代码的设计下
实现:选中省的时候,动态的查询当前省下的所有市,然后展示在市的下拉选项中        
技术分析:
    1.用数组来存储数据
        语法:new Array():大小为0的数组
             new Array(size):指定大小
             new Array(e1,e2,e3...):指定元素    
             也可以直接写:var arr=[e1,e2,e3...]
    关于数组特别到不能在特别的地方:
    1.数组是可变的
    2.数组可以存放各种数据(一个数组中可以同时存放不同类型的数据)
    数组的常用方法:
            1.pop():弹出最后一个
            2.push():插入最后
            3.shift():删除第一个
            4.unshift():插入到第一个
            对结构的操作,持久化
            打印数组:join(分隔符):将数组按照指定的分隔符打印
            拼接数组:concat():连接数组,并将结果返回
                排序:sort();
                反转:reverse();

步骤分析:
    1.省的下拉选项中中添加value属性,当成数组的索引
    2.初始化市:将省和市,组装成二维数组
    3.在选择省的时候绑定 onchange 事件(select 的选项改变,事件获取的值就会改变)
    4.编写函数:
        通过获取省的索引this.value,获取她所对应的市的数组
        遍历数组,将数组中的每个值组装成option 添加到seletc 中即可
//
//
//


引用类型:


1.Array:
    new Array():长度为零的数组
    new Array(size):指定长度的数组
    new Array(e1,e2,e3...):指定元素的数组
2.String:
原始类型中对的String  Number Boolean 都是伪对象,可以调用方法。只有对象才可以调用方法
    语法:
        new String(值|变量):new 出来的都是对象
        String(值|变量):创建的变量类型是字符串
    常用方法:
        subString(start,end):截取字串
        substr(start,size):向后截取几个
        charAt(index):返回指定位置的字符
        indexOf(""):返回指定位置的字符
        replace():替换
        split():切割
        。。。。
3.Boolean:
    new Boolean(值):
    Boolean(值):
    非零非空就为 true;
4.Number
    new Number():
    Number():
     能将数字字符串,转成数字,null---0  false----0   true----1
     不是数字的:结果为NaN:not a number
5.Date:  

 new Date();
    常用方法:
        toLocalString():将时间转化为字符串
6.MAth:
    math.数值|方法
    math.PImath.random()
7.全局变量!!!!
    1.encodeURI();编码
    2.decodeURI():解码
    
    3.Number():强制转化,不成功则返回Nan
    4.String():强制转换为字符串
    5parseInt():尝试转化为整数
    parseFloat():尝试转化为小数
        能转化多少转化多少
        
    代码:
    6.eval: 计算字符串将他转为JS代码执行
8.RegExp:正则表达式
    语法:
    直接量语法   /正则表达式/参数
    直接量语法  /正则表达式
    
    new RegExp("正则表达式")
    new RegExp("正则表达式",参数)
    参数:
        i:忽略大小
        g:全局
    常用方法:
    test():返回值为boolean

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值