黑马JavaScript学习一 BOM之Window对象定时器功能

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>轮播图</title>
 6 </head>
 7 <body>
 8 <img id="lunbo" src="img/banner_1.jpg" alt="">
 9 <img id="lunbo2" src="img/banner_1.jpg" alt="">
10 <img id="lunbo3" src="img/banner_1.jpg" alt="">
11 <script>
12     /*
13         1.使用img标签显示图片
14         2.定义一个方法,修改图片的src属性
15         2.使用循环定时器,周期调用方法
16      */
17     // var number = 0;
18     // var imgs = ["img/banner_1.jpg", "img/banner_2.jpg", "img/banner_3.jpg"];
19     // function changImg(id, imgs){
20     //     number++;
21     //     if(number == imgs.length){
22     //         number = 0;
23     //     }
24     //     id.src = imgs[number];
25     // }
26     // var lunbo = document.getElementById("lunbo");
27     // setInterval(function(){
28     //     changImg(lunbo, imgs);
29     // }, 1000);
30
31     /*
32         提供更通用的代码,实现轮播图效果
33         需要的参数,imgs, 轮播图片对象,轮播的周期,构造出一个轮播图对象
34      */
35     function LunBo(imgEle, imgs, time){
36         //关键点:LunBo函数中的this和其内部的匿名函数中的this名称冲突,需要重命名个变量。
37         var obj = this;
38         //保存参数,1.编号 2.图片数组 3.img元素 4.轮播周期
39         this.number = 0;
40         this.imgs = imgs;
41         this.imgEle = imgEle;
42         this.time = time;
43
44         this.changeImg = function(){
45             obj.number++;
46             if(obj.number == obj.imgs.length){
47                 obj.number = 0;
48             }
49             obj.imgEle.src = obj.imgs[obj.number];
50         };
51
52         this.timer = setInterval(function(){
53             obj.changeImg();
54         }, obj.time);
55
56         this.stop = function(){
57             clearInterval(obj.timer);
58         };
59     }
60     var lunBo = new LunBo(document.getElementById("lunbo"),
61         ["img/banner_1.jpg", "img/banner_2.jpg", "img/banner_3.jpg"],
62         3000);
63     var lunBo2 = new LunBo(document.getElementById("lunbo2"),
64         ["img/banner_1.jpg", "img/banner_2.jpg", "img/banner_3.jpg"],
65         8000);
66     var lunBo3 = new LunBo(document.getElementById("lunbo3"),
67         ["img/banner_1.jpg", "img/banner_2.jpg"],
68         100);
69 </script>
70 </body>
71 </html>

轮播图 定时器

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>自动跳转首页</title>
 6 </head>
 7 <body>
 8     <span id="second-num">5</span>秒后自动跳转首页
 9     <script>
10         /*
11             分析:
12                 1.倒计时读秒效果
13                 2.定义一个方法,获取span标签,修改其内容,并减1
14
15          */
16         var second = 5;
17         var timeEle = document.getElementById("second-num");
18         function showTime(){
19             second--;
20             if(second <= 0){
21                 location.href = "https://www.baidu.com";
22                 return;//必须加,不然的话当加载时,会继续读秒。
23             }
24             timeEle.innerHTML = second;
25         }
26         setInterval(showTime, 1000);
27     </script>
28 </body>
29 </html>

自动跳转 定时器

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>工具提示</title>
 6     <style>
 7         div{
 8             width: 100px;
 9             height: 100px;
10             margin: 100px;
11             background-color: brown;
12         }
13         #switch{
14             border: 10px solid black;
15             position: relative;
16             box-sizing: border-box;
17         }
18         #tip{
19             left: 200px;
20             top: 0px;
21             position: absolute;
22             background-color: purple;
23             margin: 0px;
24         }
25     </style>
26 </head>
27 <body>
28
29     <div id="switch">
30         开关
31         <div id="tip" >
32             提示
33         </div>
34     </div>
35
36     <script>
37         /*
38             不带延迟的工具提示
39          */
40         // var switchElem = document.getElementById("switch");
41         // switchElem.onmouseenter = function(){
42         //     var tip = document.getElementById("tip");
43         //     tip.hidden = false;
44         // }
45         //
46         // switchElem.onmouseleave = function(){
47         //     var tip = document.getElementById("tip");
48         //     tip.hidden = true;
49         // }
50     </script>
51
52     <script>
53         /*
54             带延迟的工具提示
55          */
56         var switchElem = document.getElementById("switch");
57         //保存定时器
58         var switchTimer;
59         switchElem.onmouseenter = function(){
60             var tip = document.getElementById("tip");
61             if(switchTimer){
62                 clearTimeout(switchTimer)
63             }
64             tip.hidden = false;
65         }
66
67         switchElem.onmouseleave = function(){
68             var tip = document.getElementById("tip");
69             switchTimer = setTimeout(function(){
70                 tip.hidden = true;
71             }, 300);
72         }
73     </script>
74 </body>
75 </html>

工具提示 定时器

原文地址:https://www.cnblogs.com/mozq/p/10777173.html

时间: 2024-10-09 12:09:03

黑马JavaScript学习一 BOM之Window对象定时器功能的相关文章

javascript学习笔记整理(window对象)

浏览器对象模型 (BOM--Browser Object Model),window对象是BOM中所有对象的核心 A.属性 1.(位置类型-获得浏览器的位置) IE:window.screenLeft    获得浏览器距屏幕左上角的左边距  window.screenTop    获得浏览器距屏幕左上角的上边距 FF:  screenXscreenY 2.获得浏览器的尺寸 window.innerWidth      获得窗口的宽度window.innerHeight      获得窗口的高度

JavaScript学习4:BOM之window对象

BOM也叫做浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM缺少规范,每个浏览器提供商又按照自己的想法去扩展它,那么浏览器共有的对象就成了事实的标准,所以,BOM本身是没有标准的或者说是还没有哪个组织去为它制定标准. 本文我们主要来看BOM中的核心对象:Window对象 Window对象是BOM的核心对象,它表示浏览器的一个实例.Window对象处于JavaScript结构的最顶层(如下图所示),对于每个打开的窗口,系统都会自动为其定义window对象. 1 对象的属性和方法 Wi

[转] JavaScript学习:BOM和DOM的区别和关联

BOM 1.  BOM是Browser Object Model的缩写,即浏览器对象模型. 2.  BOM没有相关标准. 3.  BOM的最根本对象是window. 从1可以看出来:BOM和浏览器关系密切.浏览器的很多东西可以通过JavaScript控制的,例如打开新窗口.打开新选项卡(标签页).关闭页面,把网页设为主页,或加入收藏夹,等等…这些涉及到的对象就是BOM. 从2可以看出来:由于没有标准,不同的浏览器实现同一功能,可以需要不同的实现方式.对于上面说的功能,不同的浏览器的实现功能所需要

JS学习笔记-BOM之window

BOM:BrowserObjectModel,浏览器对象模型,提供JS中对浏览器的各种操作的对象,是JS应用中唯一没有相关标准的部分,这事BOM经常出现问题的所在,主要用于处理浏览器窗口与框架,浏览器特有的JS扩展也被默认为BOM的一部分,而各浏览器之间的公有对象就成了默认的标准.本篇文章将主要介绍window对象. 属性 世界上本没有模型,用的多了也就成了模型.模型便是一个可供参考的东西,BOM中的一系列通用的对象便构成了这个模型,其结构可展示为: window的六大属性,同时它们也是对象:

JavaScript学习12 JS中定义对象的几种方式

JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascript"> var object = new Object(); object.name

BOM的window对象的属性及其方法

Window对象是客户端javascript最高层对象之一,只要打开浏览器窗口,不管该窗口中是否有打开的网页,当遇到BODY.FRAMESET或 FRAME元素时,都会自动建立window对象的实例.另外,该对象的实例也可由window.open()方法创建.由于window对象是其它大部 分对象的共同祖先,在调用window对象的方法和属性时,可以省略window对象的引用.例如:window.document.write()可以 简写成: document.write(). 在窗口中觖发本窗

javascript知识点之DOM与window对象

在学习javascript过程中只是一知半解好多,碰到自己不知道属性方法,到最后都不知道自己学到了什么 js代码为什么这样写 为什么你知道这方法或属性可以这样用. DOM和window对象 DOM基本操作: 获得节点: document:通过元素ID获取节点,标签,name属性 节点指针:获取元素首个子节点,最后一个,子节点列表,兄弟节点的前一个后一个,节点的父节点 节点操作: 创建节点:创建元素节点,属性节点,文本节点 插入节点:节点的子节点添加新的子节点  已有节点前插入新子节点 替换节点:

Javascript学习总结-BOM编程-(六)

1. BOM编程 1.1. BOM编程基础 全称 Browser Object Model,浏览器对象模型. JavaScript是由浏览器中内置的javascript脚本解释器程序来执行javascript脚本语言的. 为了便于对浏览器的操作,javascript封装了对浏览器的各个对象使得开发者可以方便的操作浏览器. 1.2. BOM对象: 1.3. window 对象 Window 对象是 JavaScript 层级中的顶层对象. Window 对象代表一个浏览器窗口或一个框架. Wind

BOM之window对象

双重角色 BOM的核心对象是window,它表示浏览器的一个实例.在浏览器中,window对象有双重角色,它既是通过Javascript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象.这意味着在网页中定义的任何一个对象.变量和函数,都以window作为其Global对象. 全局作用域 [1]在全局作用域中声明的变量.函数都会变成window对象的属性和方法 var age = 29; function sayAge(){ console.log(this.age); }