JavaWeb学习笔记——BOM

JavaScript

今日内容
       1. ECMAScript:
       2. BOM:
       3. DOM:
            1. 事件

## DOM简单学习:为了满足案例要求
    * 功能:控制html文档的内容
    * 获取页面标签(元素)对象:Element
        * document.getElementById("id值"):通过元素的id获取元素对象

    * 操作Element对象:
        1. 修改属性值:
            1. 明确获取的对象是哪一个?
            2. 查看API文档,找其中有哪些属性可以设置
        2. 修改标签体内容:
            * 属性:innerHTML
            1. 获取元素对象
            2. 使用innerHTML属性修改标签体内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <img id="light" src="img/off.gif">
    <h1 id="title">悔创阿里杰克马</h1>

<script>
    // var light = document.getElementById("light");
    // alert("我要换图片了!");
    // light.src = "img/on.gif";

    //1.获取h1标签对象
    var title = document.getElementById("title");
    alert("我要换内容了!");
    //2.修改内容
    title.innerHTML = "不识妻美刘强东";
</script>
</body>
</html>

## 事件简单学习
    * 功能: 某些组件被执行了某些操作后,触发某些代码的执行。
        * 造句:  xxx被xxx,我就xxx
            * 我方水晶被摧毁后,我就责备对友。
            * 敌方水晶被摧毁后,我就夸奖自己。

    * 如何绑定事件
        1. 直接在html标签上,指定事件的属性(操作),属性值就是js代码
            1. 事件:onclick--- 单击事件

        2. 通过js获取元素对象,指定事件属性,设置一个函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>事件绑定</title>
</head>
<body>
<img id="light" src="img/off.gif" onclick="fun()">

<img id="light2" src="img/off.gif">

<script>
    function fun() {
        alert("我被点了!");
    }

    function fun2() {
        alert("咋老点我?");
    }
    //1.获取light2对象
    var light2 = document.getElementById("light2");
    //2.绑定事件
    light2.onclick = fun2;//注意!带括号就执行了!
</script>
</body>
</html>

 案例:电灯开关

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>电灯开关</title>
</head>
<body>
//1.获取图片对象
<img id="light" src="img/off.gif">

<script>
    //2.获取light对象
    var light = document.getElementById("light");

    var flag = false;//代表灯是灭的
    function fun() {
        if (flag)  {//判断如果灯是开的,则灭掉
            light.src = "img/off.gif";
            flag = false;
        } else {
            light.src = "img/on.gif";
            flag = true;
        }
    }

    light.onclick = fun;
</script>
</body>
</html>

# BOM:
    1. 概念:Browser Object Model 浏览器对象模型
        * 将浏览器的各个组成部分封装成对象。

    2. 组成:
        * Window:窗口对象
        * Navigator:浏览器对象
        * Screen:显示器屏幕对象
        * History:历史记录对象
        * Location:地址栏对象

    3. Window:窗口对象
        1. 创建
        2. 方法
             1. 与弹出框有关的方法:
                alert()    显示带有一段消息和一个确认按钮的警告框。
                confirm()    显示带有一段消息以及确认按钮和取消按钮的对话框。
                    * 如果用户点击确定按钮,则方法返回true
                    * 如果用户点击取消按钮,则方法返回false
                prompt()    显示可提示用户输入的对话框。
                    * 返回值:获取用户输入的值

             2. 与打开关闭有关的方法:
                close()    关闭浏览器窗口。
                    * 谁调用我 ,我关谁
                open()    打开一个新的浏览器窗口
                    * 返回新的Window对象
              3. 与定时器有关的方式
                setTimeout()    在指定的毫秒数后调用函数或计算表达式。
                    * 参数:
                        1. js代码或者方法对象
                        2. 毫秒值
                    * 返回值:唯一标识,用于取消定时器
                clearTimeout()    取消由 setTimeout() 方法设置的 timeout。
    
                setInterval()    按照指定的周期(以毫秒计)来调用函数或计算表达式。
                clearInterval()    取消由 setInterval() 设置的 timeout。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Window对象</title>
</head>
<body>
    <input id="openBtn" type="button" value="打开窗口">
    <input id="closeBtn" type="button" value="关闭窗口">
    <script>
        // window.alert();

        // var flag = confirm("您确定要退出吗?");
        // if (flag){
        //     //退出操作        // setTimeout(fun,2000);

        //     alert("欢迎再次光临!");
        // } else {
        //     alert("手别抖。")
        // }

        //输入框
        // var result = prompt("请输入用户名");
        // alert(result);

        //打开新窗口
        // var openBtn = document.getElementById("openBtn");
        // var newWindow;
        // openBtn.onclick = function(){
        //     newWindow = open("http://www.baidu.com");
        // }
        //关闭窗口
        // var closeBtn = document.getElementById("closeBtn");
        // closeBtn.onclick = function (){
        //     newWindow.close();
        // }

        //一次性定时器
        var id = setTimeout(fun,2000);
        clearTimeout(id);

        function fun() {
            alert('boom~~');
        }

        //循环定时器
        //setInterval(fun,2000);
    </script>
</body>
</html>

案例:轮播图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>轮播图</title>
</head>
<body>
    <img id="img" src="img/banner_1.jpg" width="100%">
    <script>
        //修改图片src属性
        var number = 1;
        function fun() {
            number++;
            //判断number是否大于3
            if (number > 3) {
                number=1;
            }
            var img = document.getElementById("img");
            img.src = "img/banner_"+number+".jpg";
        }
        //2.定义定时器
        setInterval(fun,3000);
    </script>
</body>
</html>

        

        3. 属性:
            1. 获取其他BOM对象:
                history
                location
                Navigator
                Screen:
            2. 获取DOM对象
                document
        4. 特点
            * Window对象不需要创建可以直接使用 window使用。 window.方法名();
            * window引用可以省略。  方法名();


    4. Location:地址栏对象
        1. 创建(获取):
            1. window.location
            2. location

        2. 方法:
            * reload()    重新加载当前文档。刷新
        3. 属性
            * href    设置或返回完整的 URL。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Location对象</title>
</head>
<body>
    <input id="btn" type="button" value="刷新">
    <input id="goBaidu" type="button" value="去百度">

    <script>
        //reload方法,定义一个按钮,点击按钮,刷新当前页面
        //1.获取按钮
        var btn = document.getElementById("btn");
        //2.绑定单击事件
        btn.onclick = function () {
            //3.刷新页面
            location.reload();
        }

        //获取href
        var href = location.href;
        //alert(href);
        //点击按钮,访问百度www.baidu.com
        //1.获取按钮
        var goBaidu = document.getElementById("goBaidu");
        //2.绑定单击事件
        goBaidu.onclick = function () {
            location.href = "http://www.baidu.com"
        }
    </script>
</body>
</html>

案例:页面跳转

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自动跳转</title>
    <style>
        p{
            text-align: center;
        }
        span{
            color: red;
        }
    </style>

</head>
<body>
    <p>
        <span id="time">5</span>秒后,自动跳转到首页...
    </p>
    <script>
        /*
        分析:
            1.显示页面效果
            2.倒计时读秒效果实现
                2.1定义一个方法,获取span标签,修改span标签内容
                2.2定义一个定时器,1秒执行一次该方法
            3.在方法中判断时间如果<=0,则跳转到首页
         */
        //2.倒计时读秒效果实现
        var second = 5;
        var time = document.getElementById("time");
        //2.1定义一个方法,获取span标签,修改span标签内容
        function fun() {
            second--;
            //时间如果<=0,则跳转到首页
            if (second<=0) {
                location.href = "http://www.baidu.com";
            }
            time.innerHTML = second+"";
        }
        //2.2定义一个定时器,1秒执行一次该方法
        setInterval(fun,1000);
    </script>
</body>
</html>

    5. History:历史记录对象
        1. 创建(获取):
            1. window.history
            2. history

        2. 方法:
            * back()    加载 history 列表中的前一个 URL。
            * forward()    加载 history 列表中的下一个 URL。
            * go(参数)    加载 history 列表中的某个具体页面。
                * 参数:
                    * 正数:前进几个历史记录
                    * 负数:后退几个历史记录
        3. 属性:
            * length    返回当前窗口历史列表中的 URL 数量。
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值