黑马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中没有类的概念,只有对象. ...
随机推荐
- NodeJS之Url的使用
一.通过http模块中的request事件可以得到在服务端拿到客户端的有关url的数据(req.url),其中req.url得到的数据是端口号后的所有路径,之后通过调入url模块对获取到的req.ur ...
- java常用八大排序法
最近查资料发现java排序挺有意思的,其中包含常见八种具有代表性的排序法:笔者觉得排序的功能重要,但更重要的是排序的思想:所以简单叙述一下常见排序方法名称,并用代码举例. A.插入排序(直接插入排序. ...
- 浅谈时钟的生成(js手写代码)(非原创)
在生成时钟的过程中自己想到布置表盘的写法由这么几种: 当然利用那种模式都可以实现,所以我们要用一个最好理解,代码有相对简便的方法实现 1.利用三角函数 用js在三角函数布置表盘的过程中有遇见到这种情况 ...
- [poj2318]TOYS(直线与点的位置关系)
解题关键:计算几何入门题,通过叉积判断. 两个向量的关系: P*Q>0,Q在P的逆时针方向: P*Q<0,Q在P的顺时针方向: P*Q==0,Q与P共线. 实际就是用右手定则判断的. #i ...
- ArcEngine中多边形内外环的处理(转)
ArcEngine中多边形内外环的处理 原创 2012年09月06日 22:49:11 标签: object / null / 数据库 3462 Polylgon对象是由一个或多个Ring对象的有序集 ...
- codeforces 1064D 双端队列BFS
双端队列BFS解决的就是路径权值可能为0的图最短路问题,权值为0插入队头,否则插入队尾. 对于这个题,可以看作上下移动的路径的权值为0,左右移动权值为1,而且不能超过规定的步数. 直接广搜求覆盖的点的 ...
- Zbar -- 源码分析
博客转载自:https://blog.csdn.net/sunflower_boy/article/details/50783179 //Img_scanner.c 文件内 int zbar_scan ...
- Luogu 3193 [HNOI2008]GT考试
BZOJ1009 妙! 推荐这篇题解: https://www.luogu.org/blog/Edgration/solution-p3193 考虑设计dp,设$f_{i, j}$表示长串匹配到i,短 ...
- Json Post到 https的坑 - the underlying connection was closed an unexpected error occurred on a send(远程服务器未知错误导致关闭)
最近做了一个安装包,安装包会弹出dotnet的 窗体,这个安装包会去调用https的一个api.用测试程序测试窗体都是好的.一旦打入安装包后,就报错.研究了半天,原来是https惹的祸 解决方案: . ...
- netty中的位操作
看了PoolChunk源码,好多位操作,对这些位操作理解不到位,看起来很是吃力,不知道为什么要这么做,可能是性能更好 1:大小为2 的冥的数加1 怎么操作 size^1; 2: <=比较 m ...