小练习1:针对HTML,分别使用 setTimeout 和 setInterval 实现以下功能:

  • 点击按钮时,开始改变 fade-obj 的透明度,开始一个淡出(逐渐消失)动画,直到透明度为0
  • 在动画过程中,按钮的状态变为不可点击
  • 在动画结束后,按钮状态恢复,且文字变成“淡入”
  • 在 按钮显示 淡入 的状态时,点击按钮,开始一个“淡入”(逐渐出现)的动画,和上面类似按钮不可点,直到透明度完全不透明
  • 淡入动画结束后,按钮文字变为“淡出”
  • 暂时不要使用 CSS animation (以后我们再学习)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>与页面对话4</title>
</head>
<body> <div id="fade-obj" style="width:300px;height:300px;background:#000;opacity: 1;"></div>
<button id="fade-btn" onclick="beLowOpa()">淡出</button>
<script>
var opaCount = 1;
var btn= document.getElementById("fade-btn"); function beLowOpa() {
btn.disabled = true;
opaCount -= 0.05;
document.getElementById("fade-obj").style.opacity = opaCount;
var t = setTimeout("beLowOpa()", 100);
if (opaCount <= 0) {
clearTimeout(t);
btn.disabled = false;
btn.innerHTML = "淡入";
btn.addEventListener("click", beHighOpa);
}
}
function beHighOpa() {
btn.disabled = true;
opaCount += 0.05;
document.getElementById("fade-obj").style.opacity = opaCount;
var t = setTimeout("beHighOpa()", 100);
if (opaCount >= 1) {
clearTimeout(t);
btn.disabled = false;
btn.innerHTML = "淡出";
btn.addEventListener("click", beLowOpa);
}
}
</script>
</body> </html>

JS之setTimeOut与clearTimeOut的更多相关文章

  1. node.js之setTimeout()、clearTimeout()与 setInterval()与clearInterval()

    1.setTimeout函数与clearTimeout函数 setTimeout(cb,ms,[arg],[...])延时一定时间执行回调函数该函数中cb参数为必填函数,为需要执行的回调函数ms为经过 ...

  2. js中setTimeout和clearTimeout的使用

    setTimeout,延迟n秒后执行指定代码 clearTimeout,清除计时器 <html> <head> <script type="text/javas ...

  3. JS window对象 取消计时器clearTimeout() setTimeout()和clearTimeout()一起使用,停止计时器。 语法: clearTimeout(id_of_setT

    取消计时器clearTimeout() setTimeout()和clearTimeout()一起使用,停止计时器. 语法: clearTimeout(id_of_setTimeout) 参数说明: ...

  4. js中settimeout方法加参数

    js中settimeout方法加参数的使用. 简单使用看w3school  里面没有参数调用,  例子: <script type="text/javascript"> ...

  5. 结合setTimeout和clearTimeout,实现“返回顶部”的功能

    结合setTimeout和clearTimeout,当页面停止滚动时,“返回顶部”按钮淡隐淡出.点击“返回顶部”页面以动画形式返回顶部.完美兼容ie6-11,firefox,chrome等. html ...

  6. javascript的setTimeout()用法总结,js的setTimeout()方法

    引子 js的setTimeout方法用处比较多,通常用在页面刷新了.延迟执行了等等.但是很多javascript新手对setTimeout的用法还是不是很了解.虽然我学习和应用javascript已经 ...

  7. 利用setTimeOut 和clearTimeOut 方法控制写一个 滑动导航显示不同信息的效果

    效果如图鼠标滑动导航  下边显示不同效果 html代码和css格式代码 <body><div id="tab" class="tab"> ...

  8. 浅谈JS之setTimeout与setInterval

    概念 setTimeout与clearTimeout,以及setInterval与clearInterval均属于Window对象方法. 方法 描述 setTimeout 在指定的毫秒数后调用函数或计 ...

  9. js中setTimeout/setInterval定时器用法示例

    js中setTimeout(定时执行一次)和setInterval(间隔循环执行)用法介绍. setTimeout:在指定的毫秒数后调用指定的代码段或函数:setTimeout示例代码 functio ...

随机推荐

  1. KEY

    typedef struct st_key { uint key_length; /* Tot length of key */ ulong flags; /* dupp key and pack f ...

  2. c语言-学生成绩信息系统

    #include<stdio.h> #define N 100 int Count=0; struct stu { int num; char name[20]; int computer ...

  3. SPOJ 1811 Longest Common Substring(求两个串的最长公共子串 || 或者n个串)

    http://www.spoj.com/problems/LCS/ 题目:求两个串的最长公共子串 参考:https://www.cnblogs.com/autoint/p/10345276.html: ...

  4. kamctl start

    尽管没有吃饭,胃酸,九点半,,,还是挺高兴的.只截图不说话. 这个问题弄得我好烦啊.几个小时...网罗了国外几个论坛都没有解.我还没有想到这就不是问题,,,多试多试 再看看moni 也没什么意思,就是 ...

  5. python 中mysql数据库的读写

    1.读取数据库 import pymysql id=[] name=[] explain=[] db=pymysql.Connection(host=,user="root", p ...

  6. pip和conda安装源更改

    pip和conda安装源更改 python模块安装,使用国内源可以提高下载速度. pip源更改: pip源有好几个,我一直用的清华的pip源,它5分钟同步一次. 临时使用: pip 后加参数 -i h ...

  7. 一篇Java图片验证码生成的代码

    package projectUtil; /** * @author tian * @date 2019/4/1015:58 */ import javax.imageio.ImageIO; impo ...

  8. mojing手柄遥杆控制

    using UnityEngine; using UnityEngine.UI; using System.Collections; using MojingSample.CrossPlatformI ...

  9. C# 实现IP视频监控(摄像头)画面推送(简单的不能再简单的DEMO)

    最近继续在家休息,在完成上一个Python抓取某音乐网站爬虫后,琢磨着实现一个基于HTTP推送的 IP视频监控,比如外出的时候,在家里 开启一个监控端(摄像头+服务端),可以看到实时画面,如果再加上自 ...

  10. c++ 网络编程(二) linux 下多进程socket通信 多个客户端与单个服务端交互代码实现回声服务器

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9612820.html 锲子-- 预备知识优雅的关闭套接字连接: 基于TCP的半关闭 TCP中的 ...