JavaScript 中的定时器与动画基础

embedded/2024/10/20 20:34:52/

setInterval 和 setTimeout 都是 JavaScript 中的定时器函数,用于在一定的时间间隔后执行函数。

setInterval 函数用于按照指定的时间间隔重复执行一个函数。它接受两个参数,第一个参数是要执行的函数,第二个参数是时间间隔的毫秒数。使用示例:

setInterval(function() {console.log("Hello World");
}, 1000);

上述示例代码会每隔一秒钟打印一次 "Hello World"。

setTimeout 函数用于延迟一定的时间后执行一个函数。它也接受两个参数,第一个参数是要执行的函数,第二个参数是延迟的毫秒数。使用示例:

setTimeout(function() {console.log("Hello World");
}, 2000);

上述示例代码会延迟两秒后打印一次 "Hello World"。

对于新手来说,可以利用 setInterval 和 setTimeout 来制作简单的动画效果。例如,可以使用 setInterval 来每隔一定的时间改变一个元素的位置,从而实现移动效果。可以使用 setTimeout 来在一定的时间后显示或隐藏一个元素,从而实现淡入淡出的效果。

以下是一个简单的示例,展示如何使用 setInterval 和 setTimeout 制作一个简单的淡入淡出动画效果:

HTML:

<div id="box"></div>

CSS:

#box {width: 100px;height: 100px;background-color: red;opacity: 0;transition: opacity 1s;
}

JavaScript:

javascript">var box = document.getElementById("box");function fadeIn() {var opacity = parseFloat(box.style.opacity);if (opacity < 1) {opacity += 0.1;box.style.opacity = opacity;setTimeout(fadeIn, 100);}
}function fadeOut() {var opacity = parseFloat(box.style.opacity);if (opacity > 0) {opacity -= 0.1;box.style.opacity = opacity;setTimeout(fadeOut, 100);}
}function startAnimation() {setTimeout(function() {fadeIn();setTimeout(function() {fadeOut();}, 2000);}, 2000);
}startAnimation();

上述示例代码会先延迟两秒后开始淡入动画,然后再延迟两秒后开始淡出动画,从而实现一个简单的淡入淡出动画效果。


http://www.ppmy.cn/embedded/129079.html

相关文章

什么是堡垒机 ?安全为什么需要堡垒 ?

堡垒机在企业安全防护中扮演着核心角色&#xff0c;通过集中控制访问权限、实时监控操作行为、提供详细审计日志&#xff0c;有效隔离外部风险&#xff0c;保障内部资源安全&#xff0c;是确保企业网络和数据安全的重要防线。 一、什么是堡垒机 堡垒机&#xff0c;也被称为跳…

netty编程之对reactor的应用

写在前面 在netty使用了reactor的线程模型&#xff08;或者叫做工作模式&#xff09;。本文就一起来看下其是如何使用的。 1&#xff1a;不同的rector对应的不同的编码方式 首先是rector的单线程模型&#xff0c;对应到netty中的编码方式如下&#xff1a; // 这里的1&#…

Java基础08-集合框架—单列集合

一、集合框架 二、集合框架—单列集合 1、Collection 集合体系 Collection是单列集合的祖宗&#xff0c;它规定的方法(功能)是全部单列集合都会继承的。 Collection集合特点&#xff1a; List系列集合&#xff1a;添加的元素是有序、可重复、有索引。 ArrayList、LinekdList &…

Javascript算法——双指针法移除元素、数组去重、比较含退格字符、有序数组平方

数组移除元素&#xff08;保证数组仍连续&#xff09; 暴力求解法&#xff08;两层for循环&#xff09;,length单词拼写错误❌二次嵌套for的length设置 /*** param {number[]} nums* param {number} val* return {number}*/ var removeElement function(nums, val) {let leng…

动态规划之打家劫舍

大纲 题目思路第一步&#xff1a;确定下标含义第二步&#xff1a;确定递推公式第二步&#xff1a;dp数组如何初始化第三步&#xff1a;确定遍历顺序第四步&#xff1a;举例推导dp数组 总结 最近有人询问我 LeetCode 「打家劫舍」系列问题&#xff08;英文版叫 House Robber&…

mysql多表关系与查询

一、多表关系 1.多表操作分类 1.1 多对一 关系举例&#xff1a; 多对一&#xff1a;多名学生在一个班级里 一对多主要是靠 “外键” 实现。在 “多” 的表中建立外键&#xff0c;指向 "一"的主键 一对多的关系在实际生产当中使用非常常见。 一对多的核心解决方案是…

使用React Router实现前端的权限访问控制

前段时间学习了React Router&#xff0c;发现没有Vue里面的路由功能强大&#xff0c;没有直接提供路由中间件&#xff0c;不能像Vue里面一样在路由配置上设置任意的额外属性&#xff0c;但是可以通过一些技巧来实现这些功能。 1、配置菜单 后台管理系统一般都会在左侧显示菜单…

SQL第19课——使用存储过程

介绍什么是存储过程&#xff1f;为什么要使用存储过程&#xff1f;如何使用存储过程&#xff1f;创建和使用存储过程的基本语法&#xff1f; 19.1 存储过程 到目前为止&#xff0c;使用的大多数SQL语句都是针对一个或多个表的单条语句。 对于一些复杂的操作需要多条语句才能…