10.JavaScript外部对象-BOM
来源:互联网 发布:知乎 汉景帝杀吴太子 编辑:程序博客网 时间:2024/06/05 19:57
外部对象概述
BOM:
Browser Object Model:浏览器对象模型,用来访问和操作浏览器窗口
通过使用BOM,可移动窗口、更改状态栏文本、执行其他不与页面内容发生直接联系的操作
没有相关标准,但被广泛支持
DOM:
Document Object Model:文档对象模型,用来操作文档
定义了访问和操作HTML文档的标准方法
应用程序通过DOM树的操作,来实现对HTML文档数据的操作
widow对象:
window表示浏览器窗口,所有JavaScript全局对象、函数以及变量均自动成为window对象的成员
常用方法:
alert()、confirm()
setTimeout(),clearTimeout()
setInterval(),clearInterval()
对话框:
alert(str):提示对话框,显示str字符串的内容
confirm(str):确认对话框,显示str字符串的内
按“确定”按钮返回true,其他操作返回false
<script> function f1() { var b = confirm(“Are you sure?”); alert(b); }</script><body> <input type=”button” value=”delete” onclick=”f1();”/></body>
定时器:
多用于网页动态时钟、制作倒计时、跑马灯效果等
周期性时钟:以一定的间隔执行代码,循环往复
一次性:在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行
周期性定时器
setInterval(exp, time):周期性触发代码exp
exp:执行语句
time:时间周期,单位为毫秒
返回已经启动的定时器对象
clearInterval(tID):停止启动的定时器
tID:启动的定时器对象
一次性定时器
在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行
case1:countdown
功能实现:点击countdown按钮,5s后弹出对话框"boom"
<script> function countdown() { //启动周期性定时器 ,每1000ms调用一次 //返回值是定时器的id,用来停止计时器 var n = 5; var id = setInterval(function(){ console.log(n--); if(n==0) { //if(!n) clearInterval(id); alert(“boom”); } }, 1000); //当前countdown方法相当于主线程,启动定时器相当于启动支线程 //主线程不等待支线程,启动完成后立刻执行下一行,即启动”countdown” //支线程在等待1s后才第一次运行 console.log(“countdown”); }</script><body> <input type=”button” value=”countdown” onclick=”countdown();”></body>
case2:alarm clock
功能实现:点击set按钮,设置闹钟,5s内未点击cancel alarm按钮,则对话框显示“Ding Ding Ding”,否则不显示
————有缺陷,按两次set ,再按cancel,定时器未停止,因为id被覆盖
————解决方案见case3
<script> var id; function alarm() { //启动一次性定时器 //5000ms后调用函数,并且调用一次后停止定时器 id = setTimeout(function(){ alert(“Ding Ding Ding”); }, 5000); } function cancel_alarm() { clearTimeout(id); }</script><body> <input type=”button” value=”set alarm” onclick=”alarm();”/> <input type=”button” value=”cancel alarm” onclick=”cancel_alarm();”></body>
case3:clock
功能实现:点击start按钮,文本框内显示当前时间,点击stop按钮,时间停止,再次点击start,文本框内时间继续按系统时间显示
<script> var id; function start_clock() { if(id){ //id非空,表示定时器已启动,不必再次启动 return; } //id为空,表示未启动,则启动定时器 id = setInterval(function(){ var d = new Date(); var p = document.getElementById(“clock”); p.innerHTML = d.toLocaleTimeString(); }, 1000); } function stop_clock() { clearInterval(id); id = null; //stop 后为空,能再次start }</script><style> #clock { width/height... } .b { border/width/height }</style><body> <input type=”button” value=”start” onclick=”start_clock();” class=”b”/> <input type=”button” value=”stop” onclick=”stop_clock();” class=”b”/> <p id=”clock”></p></body>
case4:send/cancel message
功能实现:点击send按钮,发送,超过3s发送,并显示send successfully;3s内点击cancel,取消发送,显示cancel
<style> #msg { width/height/... } .b { width/height/... }</style><script> var id; function sendmsg() { if(id) { return; } //显示正在发送 var p = document.getElemetById(“msg”); p.innerHTML = “sending”; //延时3s,真正发送 id = setTimeout(function() { p.innerHTML = “send successfully”; id = null; }, 3000); } function cancelmsg() { if(id) { var p = document.getElementById(“msg”); clearTimeout(id); p.innerHTML = “cancel”; id = null; //cancel 后id为空,能再次send } }</script><body> <p> <input type=”button” value=”send” onclick=”sendmsg();” class=”b”> <input type=”button” valur=”cancel” onclick=”cancekmsg();” class=”b”> </p> <p id=”msg”></p></body>
常用属性:
document:窗口中显示HTML文档对象
history:浏览过窗口的历史记录对象
length属性:浏览器历史列表中的URL数量
alert(history.length)
方法:
back() history.back() —–> 等同于单击"后退"按钮
forward() history.forward() —–> 等同于单击"前进"按钮
go(num) history.go(-2) —–> 等同于单击两次"后退"按钮
location:窗口文件地址对象,抱包含当前URL的信息
常用于获取和改变当前浏览的网址
href属性:当前窗口正在浏览的网页地址
方法:
- reload() 重新载入当前网址,同按下刷新键
screen:当前屏幕对象
常用于获取屏幕的分辨率和色彩
常用属性:width/height/ availWidth/availHeight可用宽高
常用来区分PC和phone
navigator:浏览器相关信息
常用于获取客户端浏览器和操作系统信息
navigator.userAgent;
case:
<script> function f1(){ var b = confirm(“leave”); if(b) { location.href = ”www.albertliangzt.com”; } } function f2() { location.reload(); } function f3() { history.forward(); }</script><body> <input type=”button” value=”index” onclick=”f1();”> <input type=”button” value=”reload” onclick=”f2();”> <input type=”button” value=”forward” onclick=”f3();”></body>
- 10.JavaScript外部对象-BOM
- 什么是JavaScript BOM 对象
- Javascript之BOM对象
- JavaScript中的BOM对象
- javascript的BOM对象
- JavaScript的bom对象
- JavaScript的BOM对象
- JavaScript中的BOM对象
- JavaScript BOM对象(Window)
- [JavaScript] BOM对象
- JavaScript浏览器对象BOM
- JavaScript的BOM对象
- <javascript>的BOM对象
- Javascript之BOM对象
- JavaScript操作BOM对象
- JavaScript的BOM对象
- JavaScript的bom对象
- JavaScript BOM浏览器对象模型
- CSS 2017-07-25
- js实现加载更多功能实例
- php模拟post提交请求,调用接口
- CAP原理和BASE思想浅聊
- C语言和设计模式(之开篇)
- 10.JavaScript外部对象-BOM
- zookeeper原理
- java反射中参数问题
- easyUI学习过程(二) ----在myeclipse上创建web项目并运行html文件
- xwPython的安装与使用
- 取numpy数组的某一行某一列
- WebDriver API学习笔记
- vue-chartjs
- java SpringMVC + Mybatis 一套前台到后台完整获取数据的步骤