使用 JavaScript setTimeout 和 CSS 过渡创建令人惊叹的渐变 Div Reveals
时间:2025-01-18 13:19:12 466浏览 收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《使用 JavaScript setTimeout 和 CSS 过渡创建令人惊叹的渐变 Div Reveals》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。
巧妙运用JavaScript和CSS过渡,打造流畅网页用户体验!本文将演示如何利用JavaScript的setTimeout
函数结合CSS过渡,实现网页元素的渐进式显示效果。
概述
我们将逐步展现一系列div元素。setTimeout
函数控制每个元素的出现时间,CSS过渡则负责视觉效果。
HTML结构
首先,构建HTML结构。这是一个包含多个div元素的简单布局,每个div包含图像和链接:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>gradual div reveal</title>
<link rel="stylesheet" href="src/style.css">
</head>
<body>
<div class="toggle-div">
<img src="https://aws.amazon.com/startups/upload/e4d8d468-90d1-704f-a34e-7e195ce4025a/ceac2e85-dca6-4da4-bbf7-359df7db739d.png">
<a href="">perplexity.com</a>
</div>
<div class="toggle-div">
<img src="https://aimode.co/wp-content/uploads/2024/07/meta-ai-logo.webp">
<a href="">meta.ai</a>
</div>
<div class="toggle-div">
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2a/microsoft_365_copilot_icon.svg/2048px-microsoft_365_copilot_icon.svg.png">
<a href="">copilot.microsoft.com</a>
</div>
<div class="toggle-div">
<img src="https://www.deepseek.com/favicon.ico">
<a href="">chat.deepseek.com</a>
</div>
<div class="toggle-div">
<img src="https://uxwing.com/wp-content/themes/uxwing/download/brands-and-social-media/google-gemini-icon.png">
<a href="">gemini.google.com</a>
</div>
<script src="src/script.js"></script>
</body>
</html>
CSS过渡
接下来,定义CSS样式,控制div元素的外观和过渡效果:
.toggle-div {
opacity: 0; /* 初始隐藏 */
transition: opacity 1s ease; /* 过渡效果 */
height: 50px; /* 设置高度以确保可见 */
background-color: lightblue; /* 背景颜色 */
margin: 10px 0; /* div间距 */
padding: 12px 80px;
display: flex;
align-items: center;
}
.toggle-div img {
height: 100%;
margin-right: 8px;
}
.toggle-div a {
font-size: 20px;
}
CSS解释
- opacity: 初始值为0,使div不可见。
- transition: 不透明度属性将在1秒内平滑过渡。
- 其他样式: 设置基本样式,确保div可见并具有良好布局。
JavaScript逐步显示
最后,编写JavaScript代码控制每个div的显示时机:
// JavaScript to reveal divs
const divs = document.querySelectorAll('.toggle-div');
divs.forEach((div, index) => {
setTimeout(() => {
div.style.opacity = 1; // 设置不透明度为1,使其可见
}, index * 500); // 每个div延迟半秒,延迟时间随索引递增
});
JavaScript解释
- querySelectorAll: 选择所有class为
.toggle-div
的元素。 - forEach循环: 遍历每个选择的div元素。
- setTimeout: 为每个div设置一个超时函数,改变其
opacity
属性为1使其可见。延迟时间随着循环索引递增,实现渐进式显示效果。
最终效果:
在线演示:https://playcode.io/2219619
结论
通过结合JavaScript的setTimeout
函数和CSS过渡,我们可以轻松创建视觉效果出色的网页元素渐进式显示效果,提升用户体验。 您可以尝试调整时间和样式参数,探索不同的效果。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
相关阅读
更多>
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
最新阅读
更多>
-
474 收藏
-
410 收藏
-
225 收藏
-
449 收藏
-
226 收藏
-
468 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习