浏览器对象模型“BOM”-- window对象

global对象 全局对象

所有的全局变量和全局方法,都可以归在window上

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            width:100%;
            height:100%;
        }
    </style>
    <script>
        var a="aaa";
        console.log(window.a);
    </script>
</head>
<body>

</body>
</html>

window.alert()     弹出提示框

window.confirm()  弹出确认框,确认返回true,取消返回false

window.prompt() 弹出输入框,输入内容返回内容,否则返回null

第一个参数为提示信息,第二个参数为默认信息

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            width:100%;
            height:100%;
        }
        #span{
            background:#abcdef;
            color:orange;
        }
    </style>
    <script>
        window.onload=function(){
            var span=document.getElementById("span");
            var span2=document.getElementById("span2");
            var btn1=document.getElementById("btn1");
            var btn2=document.getElementById("btn2");
            var btn3=document.getElementById("btn3");

            btn1.onclick=function(){
                alert("btn1被点击了哦~");
            }
            btn2.onclick=function(){
                var text2=confirm("确定删除小可爱嘛?");
                if(text2){
                    span.style.display="none";
                }else{
                    return;
                }
            }
            btn3.onclick=function(){
                var text3=prompt("请输入你最喜欢的颜色","仙女粉");
                span2.innerHTML=text3;
            }
        }
    </script>
</head>
<body>
    <span id="span">我是小可爱</span><br>
    我最喜欢的颜色是:<span id="span2"></span><br>
    <button id="btn1">alert</button>
    <button id="btn2">confirm</button>
    <button id="btn3">prompt</button>
</body>
</html>

window.open() 打开新窗口

第一个参数:页面

第二个参数:页面命名

第三个参数:一组,关于设置新页面属性

window.close()  关闭当前窗口

当我加入这段代码想要关闭窗口时,没有成功,而且控制台提示:Scripts may close only the windows that were opened by it.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            width:100%;
            height:100%;
        }
    </style>
    <script>
        window.onload=function(){
            var btn1=document.getElementById("btn1");

            btn1.onclick=function(){
                window.open("new.html", "new", "width=400,height=400,left=0,top=0,toolbar=no,menubar=no,scrollbars=no,location=no,status=no");
            }
            btn2.onclick=function(){
                window.close();//Scripts may close only the windows that were opened by it.
            }
        }
    </script>
</head>
<body>
    <button id="btn1">打开新窗口试试~</button>
    <button id="btn2">现在关闭新窗口啦</button>
</body>
</html>

查看资料得知,除了IE浏览器之外,像谷歌浏览器和火狐浏览器等,都规定window.close()只能用于关闭弹出类窗口

于是,修改用法,将window.open()打开的窗口保存到变量中,使用.close()关闭该窗口

这应该就是正确打开方式了

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            width:100%;
            height:100%;
        }
    </style>
    <script>
        window.onload=function(){
            var btn1=document.getElementById("btn1");

            btn1.onclick=function(){
                newWindow=window.open("new.html", "new", "width=400,height=400,left=0,top=0,toolbar=no,menubar=no,scrollbars=no,location=no,status=no");
            }
            btn2.onclick=function(){
                newWindow.close();
            }
        }
    </script>
</head>
<body>
    <button id="btn1">打开新窗口试试~</button>
    <button id="btn2">现在关闭新窗口啦</button>
</body>
</html>

成功关闭打开的新窗口

javascript是单线程语言,也就是代码按顺序执行,可以通过以下两个方法调整顺序

延迟调用 setTimeout()

有匿名函数和自定义函数两种方式

取消延迟调用 clearTimeout()

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            width:100%;
            height:100%;
        }
    </style>
    <script>
        window.onload=function(){
            // 匿名函数
            var timer1=setTimeout(function(){
                alert("延迟1s后我来啦!");
            },1000);

            setTimeout(myFun,2000);
            function myFun(){
                alert("延迟2s后我来啦!");
            }

            clearTimeout(timer1);//取消timer1的延迟调用

        }
    </script>
</head>
<body>

</body>
</html>

间歇调用 setInterval()

clearInterval() 取消间歇调用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            width:100%;
            height:100%;
        }
    </style>
    <script>
        window.onload=function(){
            var myInterval=setInterval(function(){
                console.log("h");
            },1000);

            setTimeout(function(){
                clearInterval(myInterval);
            },10000);

        }
    </script>
</head>
<body>

</body>
</html>

10秒倒计时

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            width:100%;
            height:100%;
        }
    </style>
    <script>
        window.onload=function(){
            var count=document.getElementById("count");
            var myInterval=setInterval(function(){
                var inner=count.innerHTML;
                count.innerHTML=inner-1;
                if(inner<=1){
                    clearInterval(myInterval);
                }
            },1000);

        }
    </script>
</head>
<body>
    <span id="count">10</span>
</body>
</html>

用setTimeout() 实现间歇调用,则需要在setTimeout()中调用自身

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            width:100%;
            height:100%;
        }
    </style>
    <script>
        window.onload=function(){
            var count=document.getElementById("count");

            function myFun(){
                var inner=count.innerHTML;
                count.innerHTML=inner-1;
                if(inner>1){
                    setTimeout(myFun,1000);
                }else{
                    clearTimeout(firstTimer);
                }
            }
            var firstTimer=setTimeout(myFun,1000);//首次调用的定时器

        }
    </script>
</head>
<body>
    <span id="count">10</span>
</body>
</html>

文字闪烁效果

注意:文字都是输入法自带的,分别是:

★★★我是仙女★★★

☆☆☆我是仙女☆☆☆

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body{
            width:100%;
            height:100%;
        }
        #text{
            color:orange;
        }
    </style>
    <script>
        window.onload=function(){

            var text=document.getElementById("text");
            var i=0;
            setInterval(function(){
                if(i%2==1){
                    text.innerHTML="★★★我是仙女★★★";
                }else{
                    text.innerHTML="☆☆☆我是仙女☆☆☆";
                }
                i++;
            },500)

        }
    </script>
</head>
<body>
    <span id="text">☆☆☆我是仙女☆☆☆</span>
</body>
</html>

原文地址:https://www.cnblogs.com/chenyingying0/p/12267122.html

时间: 2024-10-14 10:13:20

浏览器对象模型“BOM”-- window对象的相关文章

ExtJS浏览器对象模型BOM——命名空间和用户代理对象、Cookie

BOM(浏览器对象模型(BrowserObjectModel)),允许访问和操控浏览器窗口.研发者通过使用BOM,可移动窗口.更改状态栏文本.执行其它不与页面内容发生直接联系的操作. 本文将从ExtJS中以下四类服务入手: 1,命名空间 2,用户代理对象 3,Cookie 4,定时调用函数(将于下一博文详细陈述) 命名空间   ExtJS的命名空间是在window对象所提供的全局范围内建立相互独立的范围,概念上类似于Java的package. Ext.namespace("com.baidu&q

Javascript之BOM(window对象)

摘自Rocky Ren 分享到 Javascript之BOM(window对象) ECMAScript是JavaScript的核心,但在web使用JavaScript,那么BOM(浏览器对象模型)才是真正的核心. BOM的核心对象是window,它表示浏览器的一个实例. 在浏览器中,window对象既是JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象.也就是说,在网页中定义的任何一个变量.对象和函数以window作为其Global对象. 1.全局作用域

浏览器对象模型BOM小结

概念 BOM (Browser Object Model) 浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C, BOM最初是Netscape浏览器标准的一部分: window对象 是浏览器中的Global对象 窗口设置 (打开.大小.位置) 间歇调用与超时调用 对话框 (提示框.确认框.输入框) location对象

JavaScript小白教程7浏览器对象模型 BOM

JavaScript Window - 浏览器对象模型 Window 对象 所有浏览器都支持 window 对象.它表示浏览器窗口.页面就是一个窗口 所有 JavaScript 全局对象.函数以及变量均自动成为 window 对象的成员. 全局变量是 window 对象的属性. 全局函数是 window 对象的方法. Window 尺寸(窗口的大小:长宽) 其他 Window 方法 一些其他方法: window.open() - 打开新窗口 window.close() - 关闭当前窗口 win

location对象[第8章-浏览器对象模型BOM 笔记2]

location 是最有用的 BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能.事实上, location 对象是很特别的一个对象,因为它既是 window 对象的属性,也是document 对象的属性:换句话说, window.location 和 document.location 引用的是同一个对象.location 对象的用处不只表现在它保存着当前文档的信息,还表现在它将 URL 解析为独立的片段,让开发人员可以通过不同的属性访问这些片段.下表列出了 loc

浏览器对象模型--BOM

BOM的核心对象是window对象,其他对象都是window对象的子对象 一.浏览器对象模型 二.window对象 属性 1.位置类型 (浏览器距离屏幕的距离) // IE chrome alert(window.screenLeft) alert(window.screenTop) // FF chrome alert(window.screenX) alert(window.screenY) 2.尺寸类型 (浏览器的文档尺寸) alert(window.innerWidth) //(有兼容性

浏览器对象模型BOM总结

BOM是Browser Object Model的缩写,简称浏览器对象模型.BOM提供了独立于内容而与浏览器窗口进行交互的对象  · 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window  · BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性. BOM提供了一些访问窗口对象的一些方法,:1.我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率.BOM最强大的功能是它提供了一个访

004_01浏览器对象模型BOM

BOM:Browser Object Model,是指浏览器对象模型,用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的.可以与浏览器窗口进行互动的对象结构.BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,它表示浏览器的一个实例,其他对象都是该对象的子对象. 主要功能: 1. 弹出新浏览器窗口的能力: 2. 移动.关闭和更改浏览器窗口大小的能力: 3. 可提供WEB浏览器详细信息的导航对象: 4.可提供浏览器载入页面详细信息的本地对象: 5

Javascript浏览器对象模型BoM要点总结

BOM要点总结篇 温故而知心!!学到的东东,必须要总结一下,方便自己,巩固自己.今天我为大家总结一下BOM当中的一些要点: 一.Windows对象 1.窗口的操作 windows对象对操作浏览器窗口非常有用.用以下四种方法来实现对窗口的移动以及调整大小. moveBy(dx,dy)-----把浏览器窗口相对当前位置水平移动dx个像素,垂直移动dy个像素.dx值为负数,向左移动窗口,dy为负数,向上移动窗口. moveTo(x,y)-----移动窗口,使他的左上角位于用户的(x,y)处.可以使用负