第十二章:第23节JavaScript内置对象——window对象(二)弹窗

更新于:2017-11-09 14:03:43

window对象方法:


1)三种弹窗方法


alert():弹出一个警告对话框,只有一个“确定”按钮。

prompt():弹出一个输入对话框,有两个按钮,一个“确定”按钮,一个是“取消”按钮。

confirm():弹出一个确认对话框,有两个按钮,一个“确定”按钮,一个是“取消”按钮。

  格式:var  flag  = window.confirm(“你确定要删除吗?”)

  返回值:单击“确定”返回true,单击“取消”返回false。


第一种弹窗可以用,只是在大部分网站上,弹窗已被JS制作的浮窗取代了。

第三个弹窗方法还是比较实用的,尤其做删除操作时用它做一下“确认”是比较不错的。


看下面的代码:


1.png


详解:


JS代码中定义了“jump()”函数。有朋友会发现,代码中jump函数并没有在“<script>……</script>”中执行,而是直接写到HTML标记中了(31行、38行)


在第一节时楠神就介绍了,JS和css一样有三种引入方式,可以直接写到HTML标记中。


我们看31行代码,a标签多了一个onclick属性。在HTML标签中有一种属性叫做事件属性,“onclick”就是其中一员。事件属性值是JS代码


有关事件属性,我们后面会详细讲解,现在先单说“onclick”有什么作用:


“onclick”的作用:一个标记有“onclick”属性,当标记被用户(用鼠标)点击了,就会触发onclick属性值,其实就是执行JS代码。


我们前面章节的代码都是页面加载时执行,事件属性的代码是在事件触发后才执行。说一下什么是事件:


用户的行为动作(包括键盘、鼠标的行为动作)、页面的变动都可以称为“事件”。


1.png

大家可下载本节代码去测试,点击“删除”看是否能弹窗“确认框”。


a标签的href属性值是“javascript:void(0)”的原因,给a标签一个空链接防止它跳转。


拓展说明:


PHP和JS都是脚本语言,前面学习PHP的时候讲过,PHP默认的最大脚本运行时间是30秒,脚本运行时间越短越好,这样才能提高并发处理。那你知道JS的脚本运行时间是多长吗?


通过本节的内容你可能会有所察觉,JS的脚本运行时间是:用户关闭页面之前JS一直在运行。


因为只有JS一直运行,它才能时时监听事件(用户的行为动作)。


JS是运行在客户端的,服务的对象只有一个。PHP是运行在服务器端的,服务的对象是所有请求的客户端。所以,PHP代码要注重运行效率,而JS代码呢,只要代码没有死循环或者特别吃内存,就不用特别注重代码的质量问题。


PHP具有破坏性,可以删掉、修改服务器上的文件,而JS是安全的脚本语言,它不能在客户端上搞破坏,因为JS运行的环境——浏览器没有给它搞破坏的权限。


2)open方法


功能:新建一个窗口,打开一个新的浏览器窗口。

语法:var winObj = window.open(URL,name,options)


参数:

URL:将目标文件在新窗口中打开,URL就是文件的路径。可以为空。

name:指定新窗口的名称。该名称可以给<a>的target属性来引用。

options:指新窗口的外观设置。

location=yes|no:地址栏是否显示

toolbar=yes|no:工具栏是否显示

menubar=yes|no,菜单栏是否显示

status=yes|no,状态栏是否显示

scrollbars=yes|no,滚动条是否显示

width=?,新窗口的宽度

height=?,新窗口的高度

top=?,距离屏幕顶端的距离

left=?,距离屏幕左端的距离


返回值:返回一个window对象。该对象可以使用window对象的所有属性和方法。


演示代码:


1.png

1.png



主窗口与新打开的窗口两者可以互相获取对方的window对象。上面的12行代码是主窗口获取新窗口的window对象;新窗口使用opener属性可以获取主窗口的window对象。


说明:


早些年的时候,很多网站一打开都会蹦出一个小窗口,它就是靠window对象的open方法实现的。由于这种弹窗的方式并不友好,很多网站都改用浮窗做特效,大多浏览器也都会拦截这种弹窗。


浮窗:JS+HTML+CSS做出来的页面特效,和窗口效果相似,比弹窗更友好。网上有很多浮窗的代码大家可去搜索来看,这属于页面设计了。本节代码中分享一个浮窗代码,里面用到了jQuery框架,暂时大家还不能看懂。


本节学习代码》》》