BOM学习

  1. 概念:Browser Object Model
    • 将浏览器的各个组成部分封装成对象
    • 更多详细学习:https://www.w3school.com.cn/jsref/index.asp
  2. 组成:
    • Window:窗口对象
    • Navigator:浏览器对象
    • Screen:显示器屏幕对象
    • History:历史记录对象
    • Location:地址栏对象
  3. Window:窗口对象
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Window对象</title>
    <script> /** * Window 窗口对象 * 1. 创建 * 2. 方法 * 1. 与弹出框有关的方法 * alert() 显示带有一段消息和一个确认按钮的警告框。 * confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。 * 如果用户点击取消按钮,则方法返回false * 如果用户点击确定按钮,则方法返回true * prompt() 显示可提示用户输入的对话框。 * 2. 与打开关闭有关的方法 * close() 关闭浏览器窗口。 * open() 打开一个新的浏览器窗口或查找一个已命名的窗口。 * 会返回一个Window对象 * 3. 与定时器有关的方法 * setTimeout() 在指定的毫秒数后调用函数或计算表达式。 * *参数: * 1. js代码或者方法对象 * 2. 毫秒值 * 3. 返回值 * *返回值:唯一标识,用于取消定时器 * clearTimeout() 取消由 setTimeout() 方法设置的 timeout。 * * setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。 * clearInterval() 取消由 setInterval() 设置的 timeout。 * * 3. 属性: * 1. 获取其他BOM对象 * history 对 History 对象的只读引用。请参数 History 对象。 * location 用于窗口或框架的 Location 对象。请参阅 Location 对象。 * Navigator 对 Navigator 对象的只读引用。请参数 Navigator 对象。 * Screen 对 Screen 对象的只读引用。请参数 Screen 对象。 * 2. 获取DOM对象 * * 4. 特定 * Window对象不需要创建可以直接使用 window使用。window.方法名() * window引用可以省略。方法名(); * 比如:alert(); or window.alert(); */ // var f=confirm("是否退出?"); // document.write(f); // //输入框,括号里面是填提示 // var s =prompt("balala"); // document.write(s); //打开一个窗口 // open();//括号填网址URL // function f(){
      // document.write("嘻嘻"+"<br>"); // // alert("爆炸"); // } //一次性的定时器 // setTimeout("f()",3000); // to1=setTimeout(f,3000); // //循环定时器 // var id2=setInterval(f,2000); // function f2(){
      // clearInterval(id2); // } // setTimeout(f2,6000); //获取history对象 var h1 = history; alert(h1); </script>
</head>
<body>
<!-- <input type="button" id="quxiaob" value="取消定时">-->
<!--<input type="button" id="openbut" value="打开窗口">-->
<!--<input type="button" id="closebut" value="关闭窗口">-->

<!--<script>-->
<!-- var openb=document.getElementById("openbut");-->
<!-- var newwindow;-->
<!-- openb.οnclick=function (){-->
<!-- //打开一个窗口-->
<!-- newwindow=open("./03_点灯开关.html");-->
<!-- }-->

<!-- var closeb=document.getElementById("closebut");-->
<!-- closeb.οnclick=function (){-->
<!-- //打开一个窗口-->
<!-- newwindow.close();-->
<!-- }-->
<!--</script>-->
<!--<script>-->
<!-- var to1=setTimeout(f,3000);-->
<!-- //用按钮取消定时器-->
<!-- var tob=document.getElementById("quxiaob");-->
<!-- tob.οnclick=function (){-->
<!-- clearTimeout(to1);-->
<!-- alert(to1);-->
<!-- }-->
<!--</script>-->
</body>
</html>
  1. Location:地址栏对象
    1. 创建(获取)
      1. location
      2. window.location
    2. 方法:
      • reload() 重新加载当前文档。
    3. 属性
      • href 设置或返回完整的URL
  2. History:历史记录对象
    1. 创建(获取)
      1. window.history
      2. history
    2. 方法:
      • back() 加载 history 列表中的前一个 URL。
      • forward() 加载 history 列表中的下一个 URL。
      • go(参数) 加载 history 列表中的某个具体页面。
        • 参数:
          • 正数:前进几个历史记录
          • 负数:后退几个历史记录
    3. 属性:
      • length 返回的是当前窗口历史列表中的URL数量。

定时器案例-轮播图

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>案例-轮播图</title>
    <script> /** * 分析: * 1.在页面上使用img标签展示图片 * 2.定义一个方法,修改图片对象的src属性 * 3.定义一个定时器,每个3秒就调用方法一次 */ </script>
</head>
<body>
<img src="../image/banner_1.jpg" id="lunbotu" width="100%">
<script> var lun = document.getElementById("lunbotu"); setInterval(lunbo,3000); var k=1; function lunbo(){
      var list=["../image/banner_1.jpg","../image/banner_2.jpg","../image/banner_3.jpg"] lun.src=list[k]; k++; k%=3; } </script>
</body>
</html>

自动跳转首页案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自动跳转首页</title>
    <style> p{
      text-align: center; } p span{
      color: red; } </style>
    <script> /** * 分析: * 1. 显示页面效果 * 2. 倒计时读秒效果实现 * 2.1 定义一个方法,获取span标签,修改标签体内容,时间 * 2.2 定义一个定时器,1秒执行一次该方法 */ </script>
</head>
<body>
<p><span id="scend">5</span> 秒之后,自动跳转到首页...</p>
<script> var sce = document.getElementById("scend"); var t=setInterval(time,1000); var zt=5; function time(){
      sce.textContent=--zt; if (zt==0){
      clearInterval(t); goTB(); } } function goTB(){
      location.href="https://www.taobao.com"; } </script>
</body>
</html>