黑马JavaScript学习一 BOM之Window对象定时器功能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轮播图</title>
</head>
<body>
<img id="lunbo" src="img/banner_1.jpg" alt="">
<img id="lunbo2" src="img/banner_1.jpg" alt="">
<img id="lunbo3" src="img/banner_1.jpg" alt="">
<script>
/*
1.使用img标签显示图片
2.定义一个方法,修改图片的src属性
2.使用循环定时器,周期调用方法
*/
// var number = 0;
// var imgs = ["img/banner_1.jpg", "img/banner_2.jpg", "img/banner_3.jpg"];
// function changImg(id, imgs){
// number++;
// if(number == imgs.length){
// number = 0;
// }
// id.src = imgs[number];
// }
// var lunbo = document.getElementById("lunbo");
// setInterval(function(){
// changImg(lunbo, imgs);
// }, 1000); /*
提供更通用的代码,实现轮播图效果
需要的参数,imgs, 轮播图片对象,轮播的周期,构造出一个轮播图对象
*/
function LunBo(imgEle, imgs, time){
//关键点:LunBo函数中的this和其内部的匿名函数中的this名称冲突,需要重命名个变量。
var obj = this;
//保存参数,1.编号 2.图片数组 3.img元素 4.轮播周期
this.number = 0;
this.imgs = imgs;
this.imgEle = imgEle;
this.time = time; this.changeImg = function(){
obj.number++;
if(obj.number == obj.imgs.length){
obj.number = 0;
}
obj.imgEle.src = obj.imgs[obj.number];
}; this.timer = setInterval(function(){
obj.changeImg();
}, obj.time); this.stop = function(){
clearInterval(obj.timer);
};
}
var lunBo = new LunBo(document.getElementById("lunbo"),
["img/banner_1.jpg", "img/banner_2.jpg", "img/banner_3.jpg"],
3000);
var lunBo2 = new LunBo(document.getElementById("lunbo2"),
["img/banner_1.jpg", "img/banner_2.jpg", "img/banner_3.jpg"],
8000);
var lunBo3 = new LunBo(document.getElementById("lunbo3"),
["img/banner_1.jpg", "img/banner_2.jpg"],
100);
</script>
</body>
</html>
轮播图 定时器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自动跳转首页</title>
</head>
<body>
<span id="second-num">5</span>秒后自动跳转首页
<script>
/*
分析:
1.倒计时读秒效果
2.定义一个方法,获取span标签,修改其内容,并减1 */
var second = 5;
var timeEle = document.getElementById("second-num");
function showTime(){
second--;
if(second <= 0){
location.href = "https://www.baidu.com";
return;//必须加,不然的话当加载时,会继续读秒。
}
timeEle.innerHTML = second;
}
setInterval(showTime, 1000);
</script>
</body>
</html>
自动跳转 定时器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>工具提示</title>
<style>
div{
width: 100px;
height: 100px;
margin: 100px;
background-color: brown;
}
#switch{
border: 10px solid black;
position: relative;
box-sizing: border-box;
}
#tip{
left: 200px;
top: 0px;
position: absolute;
background-color: purple;
margin: 0px;
}
</style>
</head>
<body> <div id="switch">
开关
<div id="tip" >
提示
</div>
</div> <script>
/*
不带延迟的工具提示
*/
// var switchElem = document.getElementById("switch");
// switchElem.onmouseenter = function(){
// var tip = document.getElementById("tip");
// tip.hidden = false;
// }
//
// switchElem.onmouseleave = function(){
// var tip = document.getElementById("tip");
// tip.hidden = true;
// }
</script> <script>
/*
带延迟的工具提示
*/
var switchElem = document.getElementById("switch");
//保存定时器
var switchTimer;
switchElem.onmouseenter = function(){
var tip = document.getElementById("tip");
if(switchTimer){
clearTimeout(switchTimer)
}
tip.hidden = false;
} switchElem.onmouseleave = function(){
var tip = document.getElementById("tip");
switchTimer = setTimeout(function(){
tip.hidden = true;
}, 300);
}
</script>
</body>
</html>
工具提示 定时器



黑马JavaScript学习一 BOM之Window对象定时器功能的更多相关文章
- JavaScript 学习(1)--window对象
JavaScript 学习--Window对象 window对象方法 1.1 创建新窗体 //窗体打开 var newWindow=Window.open("default.html&quo ...
- [转] JavaScript学习:BOM和DOM的区别和关联
BOM 1. BOM是Browser Object Model的缩写,即浏览器对象模型. 2. BOM没有相关标准. 3. BOM的最根本对象是window. 从1可以看出来:BOM和浏览器关系 ...
- javascript学习笔记 BOM和DOM详解
js组成 我们都知道, javascript 有三部分构成,ECMAScript,DOM和BOM,根据宿主(浏览器)的不同,具体的表现形式也不尽相同,ie和其他的浏览器风格迥异. 1. DOM 是 W ...
- JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
- javascript学习之BOM
BOM是browser object model的缩写,简称浏览器对象模型.先看看下面这张图 window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也可以称为window的子对象. ...
- javascript知识点之DOM与window对象
在学习javascript过程中只是一知半解好多,碰到自己不知道属性方法,到最后都不知道自己学到了什么 js代码为什么这样写 为什么你知道这方法或属性可以这样用. DOM和window对象 DOM基本 ...
- BOM之window对象
双重角色 BOM的核心对象是window,它表示浏览器的一个实例.在浏览器中,window对象有双重角色,它既是通过Javascript访问浏览器窗口的一个接口,又是ECMAScript规定的Glob ...
- JavaScript学习(2):对象、集合以及错误处理
在这篇文章里,我们讨论一下JavaScript中的对象.数组以及错误处理. 1. 对象 对象是JavaScript中的一种基本类型,它内部包含一些属性,我们可以对这些属性进行增删操作. 1.1 属性 ...
- JavaScript学习12 JS中定义对象的几种方式【转】
avaScript学习12 JS中定义对象的几种方式 转自: http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. ...
随机推荐
- 执行: python manage.py makemigrations报AttributeError: 'str' object has no attribute 'decode'
找到错误代码(line146):query = query.encode(errors='replace') 解决方法:把decode改为encode即可.
- CDM中,实体与实体快捷方式之间的联系不能重复,否则会造成外键重复
例如机场实体和跑道实体,例如: 在机场包中,跑道实体作为快捷方式出现,机场实体与跑道快捷方式实体间有连线关系,然而 在跑道包中,情况相反,但二者间也有连线.(模型原样) 要注意的是,虽然在两个包中都有 ...
- NSFileManager和NSFileHandle使用
一.NSFileManager: 1.1.获取NSFileManager NSFileManager *manager = [NSFileManager defaultManager]; NS ...
- C# WinForm 关闭登陆窗体后进程还再内存怎么办?
问题:我们通常再制作WinForm应用程序的时候,运行程序的第一个窗口一般是登陆窗口.代码如下: 那么这种方式有一个弊端,这种启动方式,其实就是把登陆窗口设置为主窗体.因此,再登陆后,我们通常是调用H ...
- Android 自定义带回调的Dialog 及EditText相关
import android.app.Activity; import android.content.Context; import android.text.Editable; import ...
- C++知识点总结(6)
1.double和float的存储方式 float遵从的是IEEE R32.24 ,而double 遵从的是R64.53.无论是单精度还是双精度在存储中都分为三个部分: 符号位(Sign) : 0代表 ...
- import json
- android文件缓存管理
缓存类 : public class ConfigCache { private static final String TAG = ConfigCache.class.getName(); pub ...
- ROS Learning-002 beginner_Tutorials 如何添加ROS环境变量 和 如何更新ROS源代码
ROS Indigo beginner_Tutorials 之 添加环境变量 和 更新ROS源代码的命令 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubu ...
- R: 自定义函数
################################################### 问题:自定义函数 18.4.29 自定义函数,其返回值是个问题,还有怎么让过程变量成为全局变 ...