BOM对象

  • BOM
    浏览器对象模型,将浏览器的各个组成部分封装为对象(地址栏、窗口等)
    组成:
    Window(窗口)
    Navigator(浏览器)
    Screen(屏幕)
    History(历史记录)
    Location(地址栏)
  • WINDOW对象
    不需要创建,可直接使用(window.方法名()或者直接方法名())
    方法:
    1.与弹出窗口有关
    alert() 显示带有一段消息和一个确认按钮的警告框。
    confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
    prompt() 显示可提示用户输入的对话框。
    2.与打开关闭有关
    close() 关闭浏览器窗口。
    open() 打开一个新的浏览器窗口或查找一个已命名的窗口。
    3.定时器
    setTimeout(js代码,毫秒数) 在指定的毫秒数后调用函数或计算表达式,。
    clearTimeout() 取消由 setTimeout() 方法设置的 timeout。
    setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。
    clearInterval() 取消由 setInterval() 设置的 timeout。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script>
        /*alert("hello window");
        window.alert("hey bb");*/

        //确定则返回,true反之为false
        //confirm("Are you ready?");

        //输入框
        prompt("请输入用户名");
    </script>
</head>
<body>

</body>
</html>
  • 打开和关闭窗口
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input id="openb" type="button" value="打开窗口">
<input id="closeb" type="button" value="关闭窗口">
<script>
    var openbtn = document.getElementById("openb");
    var newwindow;
    openbtn.onclick = function (){
        //open返回一个新的窗口对象
        newwindow = open("http://www.baidu.com");
    }

    var closebtn = document.getElementById("closeb");
    closebtn.onclick = function (){
        //关闭当前窗口,谁调用我我关谁
        newwindow.close();
    }
</script>
</body>
</html>
  • 定时器
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    //返回一个唯一标识,用于取消定时器
    //var id = setTimeout(fun,3000);
    //clearTimeout(id);
    function fun() {
        alert("hahaha");
    }

    //循环计时器,每多少时间执行一次
    var  id = setInterval(fun,2000);
    clearInterval(id);
</script>
</body>
</html>
  • 轮播图
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script>


        //修改图片的src属性
        var number = 1;
        function fun(){
            number++;
            if(number>3){
                number=1;
            }
            var img = document.getElementById("banner1");
            img.src = "img/"+number+".jpg"
        }

        //定义定时器
        setInterval(fun,2000);
    </script>
</head>
<body>
    <img src="img/1.jpg" id="banner1" width="70%">

</body>
</html>
  • Window属性
    获取其他BOM对象:history,location,navigator,screen
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script>
        //获取history对象
        var h1 = history;
        //alert(h1);//Object History

        //获取DOM对象
        var  mi = document.getElementById("myimg");
        //alert(mi);

        /*获取Location对象
        方法:
            assign():加载新的文档。
            reload():重新加载当前文档。
            replace():用新的文档替换当前文档。
        属性:
            href:设置或返回完整的 URL。
        * */


    </script>
</head>
<body>
    <img src="img/4.jpg" id="myimg">
    <input type="button" id="flash" value="刷新页面">
    <input type="button" id="gohttp" value="去百度">

    <script>
        var btn1 = document.getElementById("flash");
        btn1.onclick = function (){
            //刷新页面
            location.reload();
        }

        //获取href
        var href1 = location.href;
        alert(href1);

        var btn2 = document.getElementById("gohttp");
        btn2.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>
    <script>
        //倒计时读秒效果
        var s = 5;
        var time = document.getElementById("time");
        function showtime(){
            s--;
            if(s<=0){
                location.href = "http://www.baidu.com";
            }
            time.innerHTML = s;
        }

        //计时器
        setInterval(showtime,1000);
    </script>

</head>
<body>
    <p>
        <span id="time">5</span>秒之后,跳转百度。。。。
    </p>
</body>
</html>
  • History对象
    History 对象包含用户(在浏览器窗口中)访问过的 URL。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <input type="button" id="btn" value="获取历史记录个数">
    <input type="button" id="btn2" value="前进">
    <a href="http://www.baidu.com">百度一下</a>
    <script>
        /*属性:
            length:返回当前窗口浏览器历史列表中的 URL 数量。
        方法:
            back():加载 history 列表中的前一个 URL。
            forward():加载 history 列表中的下一个 URL。
            go(number|URL):加载 history 列表中的某个具体页面。
        * */

        //获取历史记录个数
        var btn = document.getElementById("btn");
        btn.onclick = function (){
            alert(history.length);
        }

        //前进
        var btn2 = document.getElementById("btn2");
        btn2.onclick = function (){
            history.forward();
        }
    </script>
</body>
</html>
上一篇:JS-操作表单


下一篇:【web】JavaScript