JavaScript之BOM编程&&事件编程

**Bom:浏览器对象模型

浏览器在加载HTML文件时,JavaScript引擎会把浏览器的各个部分的信息封装到对象中,浏览器
会分为以下几个对象
窗口:     windows对象
地址栏:        location对象
历史记录栏:  history对象
屏幕          screen对象

通过JavaScript引擎提供给这个四个对象来操作浏览器,就是Bom编程

**有哪些对象?
    navigator.appName
    documnet.write(navigator.appName);

***screen 获取屏幕的大小

    availHeight 
    availWidth      是排除了任务栏之后的高度和宽度

    document.write(screen.width);
    document.write(screen.height);

**location 请求URL地址

    对象表示的一个窗口中的地址栏
    href属性
    代表的是地址栏的URL, 可以获取和设置URL,URL表示统一资源定位符
    ***获取到请求的URL地址
        -document.write(location.href);
    ***设置URL地址
        通过修改location对象的href属性来实现页面得跳转
        -页面上安置一个按钮,按钮上绑定一个事件,当我们点击这个按钮,页面就可以跳转到另外一个页面
    -location.href="hello.html";
***<input type="button" value="anniu" onclick="href();"/>
    -鼠标点击事件 onclick=JS的方法";
    reload()方法:表示刷新当前页面
    window.location.reload();

**history: 请求的URL的历史记录

    forward():前进到下一页
    back(): 回到上一页
    go() 跳转到某页(正整数 前进  负整数  后退)
    -创建三个页面
        1.a.html 写一个超链接到 b.html
        2. b.html 写一个超链接到 c.html
        3.c.html
    -到访问的上一个页面
        history.back();
        或 history.go(-1);
    -到访问的下一个页面
        history.go(1);
        history.forward();

widow(重点* 代表的是一个窗口

    *窗口对象
    *顶层对象(所有的bom对象都是在widow里面操作的)
    **方法
        widow.alert();
            因为Window对象使用非常频繁,所以当频繁调用is中的window的对象的方法时,可以省略不写
            **简写alert( );页面弹出一个框,显示内容
        -confirm() 确定提示框 
            /*
            返回值就是用户的操作
                true:点击确定
                false:点击确定          
            */
            **var flag=widow.confirm("显示的内容");

        -prompt() 输入对话框
            -widow.prompt(“在框上显示的内容","输入框里面的默认值");
        var    flag=widow.rrompt()  点击确定  或是取消          
        -open(); 在一个窗口打开一个页面,打开一个新的窗口
            /*
            参数一:打开的页面
            参数二:打开方式, _self:本窗口  _blank新窗口(默认)  
            参数三:设置窗口的参数:比如窗口的大小,是否显示任务栏     
            */
            window.open("0.1html","_self","width=“10px;height=20;toolbar=0");
            **open("打开新窗口的地址URL", " ","窗口特征,比如窗口的宽度和高度");
            -创建一个按钮,点击这个按钮,打开一个新窗口
            -widow。open("hello.html"," "," width=200;height=100");
        -close(); 关闭窗口(浏览器兼容器比较差)
            清楚任务
            参数一:需要清除的任务ID
            -widow.close();
        -做定时器
        /*
        定时器:每隔n毫秒调用指定的任务(函数)
        参数一:指定任务
        参数二 :毫秒数        
        */
        var testID;
        **setInterval("JS代码",毫秒数);  1秒=1000毫秒

            -表示每三秒,执行一次alert房啊
            testID= widow。setInterval("alert('123');"3000);

        **setTimeoout("Js代码“,毫秒数)
            -表示在毫秒数之后执行,但是只会执行一次
            widow.setTimeout("alert('abc');",4000 );
        **clearInterval() 方法可取消由 setInterval() 设置的 timeout。
                var id=widow。setInterval("alert('123');"3000);
                clearInterval(id);
        **clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout。
                var id=widow.setTimeout("alert('abc');",4000 );
                clearTimeout(id);

2.事件编程

        javase的时间编程
        GUI编程事件的三个要素

        事件源: 按钮JButton ,JFrame
        事件:KeyEvent, WindowEvent        
        监听器:KeyListener  WindowListener

        GUI编程具体步骤
            1)创建事件源
            2)编写监听器
            3)在事件源上注册监听器

    JavaScript时间编程的三要素
        1)事件源: HTML标签
        2)事件: click  Dblclick mouseover
        3.)监听器(函数)

        监视器(函数)
        <script type="text/javascript">
            function test(){
                alert("");              
            }

        </script>

        事件源
        <input type="button" value="按钮"  onclick="test()"/> 注册监听器(函数)

        JavaScript事件分类一些常用的
            span:放些简单的文字
            fontcolor给字符串添加颜色

            点击相关:
                单击: onclick
                双击:  ondblclick

            焦点相关的
                聚焦:     onfocus
                失去焦点:onblur

            选项相关的:
                改变选项:onchange

            和鼠标相关的
                鼠标经过 onmouseover
                鼠标移除 onmouseout

            页面的加载相关的
                页面加载: onload
                这个事件在加载完整个标签后再触发,通常用在body标签中,所以在
                加载完body全部内容后就出发该方法

相关代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>事件编程</title>
    <!-- 点击相关:
                    单击: onclick
                    双击:  ondblclick

                焦点相关的
                    聚焦:     onfocus
                    失去焦点:onblur

                选项相关的:
                    改变选项:onchange

                和鼠标相关的
                    鼠标经过 onmouseover
                    鼠标移除 onmouseout

                页面的加载相关的
                    页面加载: onload
                    这个事件在加载完整个标签后再触发,通常用在body标签中,所以在
                    加载完body全部内容后就出发该方法 -->
        <style type="text/css">
            div{
                width: 50px;
                height: 50px;
                background: #00ccdd;
            }
        </style>
        <script type="text/javascript">

            function testOnclick(){
                alert("点击显示内容");
            }
            function testDblclick(){
                alert("双击显示内容");
            }
            function testFocus(){
                var userName=document.getElementById("userName");
                userName.value="";

            }
            function testBlur(){
                //获取用户输入内容
                var username=document.getElementById("userName").value;
                var userNameTip=document.getElementById("userNameTip");
                //检查内容是否存在
                //内容显示到span中
                if(username=="eric"){
                    userNameTip.innerHTML="用户名已存在..请更改!!!".fontcolor("red");//给字符串家颜色
                }
                else{
                    userNameTip.innerHTML="恭喜你,可以正常使用".fontcolor("green");
                }
            }

            function  testChange(){
                //获取选中内容
                var jiguan=document.getElementById("jiguan").value;

                alert(jiguan);
                var city=document.getElementById("city");
                //每次清空city的值
                city.innerHTML="";

                if (jiguan=="广东") {
                    //把一些option选项放到城市的select中
                    var arr=["广州","珠海","深圳"];
                    for(var i=0;i<arr.length;i++){
                    city.innerHTML+="<option value='"+arr[i]+"'>"+arr[i]+"</option>";

                    }
                }
                if (jiguan=="广西") {
                    //把一些option选项放到城市的select中
                    var arr=["柳州","桂林","南宁"];
                    for(var i=0;i<arr.length;i++){
                    city.innerHTML+="<option value='"+arr[i]+"'>"+arr[i]+"</option>";

                    }
                }
                if (jiguan=="湖南") {
                    //把一些option选项放到城市的select中
                    var arr=["长沙","湘潭","郴州"];
                    for(var i=0;i<arr.length;i++){
                    city.innerHTML+="<option value='"+arr[i]+"'>"+arr[i]+"</option>";

                    }
                }

            }
            function testOnmouseOver(){
                alert("鼠标已经过");

            }
            function testOnmousrOut(){
                alert("鼠标已经离开");
            }
            function testOnLoad(){
                var date=new Date();
                var dateTip=date.toLocaleString().fontcolor("bule");
                var timeTip=document.getElementById("timeTip");
                timeTip.innerHTML=dateTip;

            }
            window.setInterval("testOnLoad()",1000);
        </script>

</head>
<body onload="testOnLoad()">
    <input type="button" value="单击"  onclick="testOnclick()" />
    <input type="button" value="双击" ondblclick="testDblclick()"/>
    <hr/>
    输入用户名:<input type="text" value="4~16数字或字母"  onfocus="testFocus()" id="userName"  onblur="testBlur()" />
    <span id="userNameTip"></span>
    <hr/>
    请输入籍贯:
    <select onchange="testChange()"  id="jiguan">
        <option value="广东">广东</option>
        <option value="广西">广西</option>
        <option value="湖南">湖南</option>
    </select>
    城市
    <select id="city">
    </select>
    <hr/>
    <div onmouseover="testOnmouseOver()" onmouseout="testOnmousrOut()">

    </div>
    <span id="timeTip"></span>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值