window对象

window属性:

opener:打开当前窗口的源窗口,如果这个窗口是由别的网页点击链接跳转过来的,或者是从另外一个页面点击打开窗口打开的,opener就是找到源页面的。如果当前窗口是首次启动浏览器打开的,则运行alert(window.opener);弹出窗口就会出现null,表示没有源网页。

window方法:

事件是先设置写好的程序代码(用函数封装),代码写好后先封装起来,被触发后执行该程序。

例如:

<input type="button" value="执行事件"  onclick="Show()"/>
function Show()
{
alert("aa");
}

上面这段函数写好以后不会执行,当点击“执行事件”这个按钮后才会执行,输出结果 aa。执行事件是这个按钮的名字,onclick表示指向的调用的函数的名称,Show就是函数的名称。

1.open:打开页面

open里面有四个参数,window.open("第一部分","第二部分","第三部分","第四部分"),第四个一般不会用到,不用写。

第一部分:写要打开的页面地址
    第二部分:打开的方式,_blank 是在新窗口打开 ;_self是在自身窗口打开。
    第三部分:控制打开的窗口属性,可以写多个,用空格隔开,控制的方式有以下几种

    toolbar=no新打开的窗口无工具条
    menubar=no无菜单栏 status=no无状态栏
    width=100 height=100 宽度高度
    left=100 打开的窗口距离左边多少距离
    resizable=no窗口大小不可调
    scrollbars=yes 出现滚动条
    location=yes 有地址栏

    例如: 

function Show()
{
  window.open("http://www.baidu.com","_black","width=100,height=100");
}

  上面代码会在新的窗口中打开一个100*100的百度页面。

window.open可以打开一个新的窗体,打开一个新的窗口之后会返回一个值,这个返回值叫窗体对象。有返回值就可以用一个变量接收,接收值的用处下面会提到。window.open打开窗口时会打开n个,点击一下按钮就会打开一次,如果想要只打开一次,用下面代码实现。

var a;
function Show()
{
if(a==null)
{
    a=window.open("http://www.baidu.com","_black","width=100,height=100");
}
}

表示用a接收打开网站时返回的变量值,如果变量值=null(没有变量),就打开新窗口,如果有变量值,就不再打开新的窗口。

2.close:关闭窗口

如果直接调用window.close();,作用是关闭当前页面,如果想关闭其他页面,例如关闭上面已经打开的页面,用下面代码实现。

   

<input type="button" value="关闭" onclick="Guan()" />
function Guan()
{
if(a!=null)
{
a.close();
}
}

做一个关闭按钮,如果返回的变量不等于null,证明网页在新的窗口打开了,直接用a.close();关闭,关闭返回量为a的窗口。

上面代码只能关闭一个窗口,如果在一个窗口中打开了n个窗口,可以用下面代码关闭所有打开的新的窗口。

    

<input type="button" value="打开窗体" onclick="Opens()" />
<input type="button" value="关闭窗体" onclick="Closes()" />
var attr = Arry();
function Opens()
{
var b = window.open("http://www.baidu.com","_blank");
attr.push(b);
}      
function Closes()
{
for(var i=0;i<attr.length;i++)
{
attr[i].close();
}
}

关闭多个代码的方式是每当打开一个新的窗口时,就会有一个返回值,把这些返回值放到一个数组里面。关闭这个数组,就会把里面的所有元素关闭,同时也把各元素所关联的窗口关闭。

3.间隔和延迟

延迟不是一个循环,只是延迟多长时间去执行。函数命名一般是用名称的字母,首字母大写。变量命名一般是小写。window.setInterval("要执行的代码",间隔的毫秒数)

示例写法:window.setInterval("alert('aa')",1000);当双引号需要套用时,里面的双引号要写成单引号,例如("alert('aa')",如果写成两个“”,系统会认为相邻的两个“”之间是一个字符串,系统就会报错。

或者:window.setInterval("var c = 'hello';alert(c)",1000);  一般不用这种写法,显得太乱。

一般会这样写:

    

<input type="button" value="间隔" onclick="JianGe()" />//放在body
function JianGe()
{
window.setInterval("Jian()",1000)
}
function Jian()
{
alert("你好");
}

setInterval在执行时也会有个返回值,它返回的是一个间隔的id,每个间隔弹出的窗口的id是不一样的,可以通过返回值控制间隔。把这些返回值存到一个变量里面,当想结束间隔时,通过id结束就可以了。

window.clearInterval:(间隔的id); 循环一次之后用来清除隔几秒执行的代码

示例:

    

var id;
function JianGe()
{
id = window.setInterval("Jian('')",1000);
}
function Jian()
{
window.open("http://www.baidu.com","_blank","width=200 height=200");
}
function JieShu()
{
window.clearInterval(id);
}

window.setTimeout  延迟执行("要执行的代码",延迟的毫秒数)

    

<input type="button"  value="延迟执行" onclick="YanChi"/>
function YanChi()
{
window.setTimeout("alert('aa')",2000)
}

延迟执行只弹出来一次,只是延迟,上面代码表示延迟2s执行。

另外,延迟也可以做成间隔的效果,下列代码可以实现该功能。其原理是每隔1s,函数YanJian()就自己调用自己一次,实现间隔的效果。

    

<input type="button" value="延迟做间隔" onclick="YanJian" />
function YanJian()
{
alert("aa");
window.setTimeout("YanJian",1000)
}
//window.clearTimeout(延迟的id);清除setTimeout,一般延迟执行较为常用。

4.window.history.go(n); n是正数代表前进n个页面,n是负数代表后退n个页面。

JS之window对象的更多相关文章

  1. js的window对象

    js的window对象 1.子窗口方法 function testOpen(){ window.open('son.html','newwindow','height=400, width=600, ...

  2. js中window对象详解以及页面跳转

    1.window.top.window.location = "index.asp"; 2.window.top.location.href="index.asp&quo ...

  3. js中Window 对象及其的方法

    window.location 对象 window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面.window.location 对象在编写时可不使用 wind ...

  4. JS day01——window对象、执行顺序、线程模型

    1.window对象 window对象表示当前浏览器的窗口,它是一个顶级对象,我们创建的所有对象.函数.变量都是window对象的成员. window对象自带了一些非常有用的方法.属性. window ...

  5. js中window对象的opener属性的一个坑

    2018-05-08 17:48:33 今天我编写代码碰到了一个让我纠结了很久的坑,特别想在此说一下,让其他人避免我踏过的这个坑. 这个坑就是:在我自己写的子窗口中用opener属性却获取不到父窗口的 ...

  6. 转-JS之Window对象

    一.说明:他是JS中最大的对象,它描述的是一个浏览器窗口,一般要引用他的属性和方法时,不需要用“Window.XXX”这种形式,而是直接使用“XXX”.一个框架页面也是一个窗口. 二.Window窗口 ...

  7. js之window对象(慕课网学习笔记)

    javaScript定义了一个变量一个函数都会变成window中的一个成员 var a=1; alert(window.a) //会输出a的值 window基础 创建窗口.调整窗口.移动窗口.关闭窗口 ...

  8. js修改window对象中的url历史记录

    //页面地址:http://localhost/11/account.html//访问页面后,地址变为:http://localhost/11/account.html?type=banana con ...

  9. Javascript高级编程学习笔记(28)—— BOM(2)window对象2

    今天讲一下window对象和浏览器导航,弹窗等有关的内容 导航和打开窗口 window.open() 用于导航到某个特定 url 该方法接收四个参数 1.url 2.窗口目标(当页面中有多个框架fra ...

随机推荐

  1. iOS开发NSDate详解

    1. 用于创建NSDate实例的类方法有 + (id)date; 返回当前时间 + (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs; 返回以 ...

  2. iOS关于setContentOffset的一些细节问题

    在UIScrollView,setContentOffset方法的功能是跳转到你指定内容的坐标, setContentOffset有两种方法:setContentOffset:和setContentO ...

  3. OSPF学习中的问题

    OSPF对接两方,对设置的要求,哪些参数必须相同 (HELLO &dead interval, area ID, authentation, 末节区域(option中的E位), network ...

  4. 特殊符号存入mysql数据库时报错:Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F的解决方法

    问题描述:从新浪微博抓取消息保存到MySQL数据中,对应数据库字段为varchar,字符编码utf-8.部分插入成功,部分插入失败,报错如标题. 在网上查询,有人说是编码问题,建议修改编码格式,比如改 ...

  5. 自学网络 arp_ignore/arp_announce

    1)机器上有好几个IP地址,如何让网卡只接收自己IP地址的数据包: 如何只接收自己网卡的数据包 http://www.cnblogs.com/honpey/p/8447819.html 相关的配置ar ...

  6. BER-TLV数据结构

    本文是自身在研究学习过程中碰到的问题,整理而成. 为了便于后文的引用说明,先列出一段TLV结构的数据: [6F] 4D │ ├─[] A0000003330101 │ ├─[A5] │ │ ├─[] ...

  7. [剑指Offer] 58.对称的二叉树

    题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. [思路]递归,关键是isSame函数中的最后一句 /* struct Tree ...

  8. Python 源码剖析(一)【python对象】

    处于研究python内存释放问题,在阅读部分python源码,顺便记录下所得.(基于<python源码剖析>(v2.4.1)与 python源码(v2.7.6)) 先列下总结:      ...

  9. 运动员最佳匹配问题 KM算法:带权二分图匹配

    题面: 羽毛球队有男女运动员各n人.给定2 个n×n矩阵P和Q.P[i][j]是男运动员i和女运动员j配对组成混合双打的男运动员竞赛优势:Q[i][j]是女运动员i和男运动员j配合的女运动员竞赛优势. ...

  10. ocker nginx 配置反向代理和负载均衡

    1. 获取及配置nginx 如果需要全站通过docker部署,那么nginx或许是不可或缺的.通过配置nginx,可以迅速实现负载均衡和反向代理服务.值得一提的是,docker官网恰好也有nginx镜 ...