js 图片渐变

1. 点击图片,使其渐变为另一张图片

通过定义@keyframes来创建一个淡入淡出的动画效果。当图片被点击时,先添加淡出动画使图片透明度从0渐变到1,然后在1秒后切换图片源并添加淡入动画使新图片透明度从0渐变到1,实现图片渐变效果。

<!DOCTYPE html>
<html>
<head><title>图片渐变效果</title><style>#image {width: 300px;height: 300px;animation: fadeIn 1s forwards; /* 定义动画效果,持续1秒 */}@keyframes fadeIn {from {opacity: 0; /* 初始透明度为0 */}to {opacity: 1; /* 最终透明度为1 */}}</style>
</head>
<body><img id="image" src="image1.jpg" onclick="changeImage()"><script>var image = document.getElementById('image');var images = ['image1.jpg', 'image2.jpg']; // 定义要切换的图片列表var currentImageIndex = 0; // 当前显示的图片索引function changeImage() {currentImageIndex = (currentImageIndex + 1) % images.length; // 循环切换图片索引image.style.animation = 'fadeOut 1s forwards'; // 添加淡出动画setTimeout(function() {image.src = images[currentImageIndex]; // 更换图片源image.style.animation = 'fadeIn 1s forwards'; // 添加淡入动画}, 1000); // 1秒后执行图片切换}</script>
</body>
</html>

这种方法使用CSS动画来实现图片渐变效果,简洁优雅。可以根据需要调整动画效果的持续时间和样式,实现不同的图片切换效果。

2. 使得图片过渡得更加自然

在动画的animation属性中添加了ease缓动函数,使得图片渐变的过程更加平滑和自然。缓动函数可以根据需要进行调整,常见的缓动函数还包括linear(线性)、ease-in(加速)、ease-out(减速)等,可以根据具体效果选择合适的缓动函数。

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html>
<head><title>图片渐变效果</title><style>#image {width: 300px;height: 300px;animation: fadeIn 1s ease forwards; /* 使用缓动函数ease */}@keyframes fadeIn {from {opacity: 0;}to {opacity: 1;}}</style>
</head>
<body><img id="image" src="image1.jpg" onclick="changeImage()"><script>var image = document.getElementById('image');var images = ['image1.jpg', 'image2.jpg'];var currentImageIndex = 0;function changeImage() {currentImageIndex = (currentImageIndex + 1) % images.length;image.style.animation = 'fadeOut 1s ease forwards'; // 使用缓动函数easesetTimeout(function() {image.src = images[currentImageIndex];image.style.animation = 'fadeIn 1s ease forwards'; // 使用缓动函数ease}, 1000);}</script>
</body>
</html>

通过调整缓动函数,可以让图片的渐变效果更加流畅和自然,提升用户体验。可以尝试不同的缓动函数,找到最适合需求的过渡效果。

3. 多图渐变

定义了一个包含多张图片的数组images,并在每次点击图片时切换到下一张图片。通过调整images数组中的图片列表,可以实现多张图片之间的渐变效果。

<!DOCTYPE html>
<html>
<head><title>多图渐变效果</title><style>#image {width: 300px;height: 300px;animation: fadeIn 1s ease forwards;}@keyframes fadeIn {from {opacity: 0;}to {opacity: 1;}}</style>
</head>
<body><img id="image" src="image1.jpg" onclick="changeImage()"><script>var image = document.getElementById('image');var images = ['image1.jpg', 'image2.jpg', 'image3.jpg']; // 多张图片列表var currentImageIndex = 0;function changeImage() {currentImageIndex = (currentImageIndex + 1) % images.length;image.style.animation = 'fadeOut 1s ease forwards'; // 添加淡出动画setTimeout(function() {image.src = images[currentImageIndex];image.style.animation = 'fadeIn 1s ease forwards'; // 添加淡入动画}, 1000);}</script>
</body>
</html>

使用了CSS动画来实现图片的渐变效果,结合JavaScript来实现图片的切换和动画效果。可以根据需要添加更多的图片到images数组中,实现多张图片之间的渐变效果。

4. 多图定时随机渐变

使用setInterval函数每隔3秒随机切换一张图片。在每次切换图片时,我们根据随机索引从images数组中获取一张图片,并添加淡入淡出的动画效果。

<!DOCTYPE html>
<html>
<head><title>图片随机变换效果</title><style>#image {width: 300px;height: 300px;animation: fadeIn 1s ease forwards;}@keyframes fadeIn {from {opacity: 0;}to {opacity: 1;}}</style>
</head>
<body><img id="image" src="image1.jpg"><script>var image = document.getElementById('image');var images = ['image1.jpg', 'image2.jpg', 'image3.jpg']; // 图片列表setInterval(function() {var randomIndex = Math.floor(Math.random() * images.length); // 随机索引image.style.animation = 'fadeOut 1s ease forwards'; // 添加淡出动画setTimeout(function() {image.src = images[randomIndex];image.style.animation = 'fadeIn 1s ease forwards'; // 添加淡入动画}, 1000);}, 3000); // 每3秒随机切换图片</script>
</body>
</html>

通过这种方法,可以实现图片的随机变换效果。可以根据需要添加更多的图片到images数组中,实现更加丰富的随机变换效果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/674680.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交易复盘-20240507

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 蔚蓝生物 (5)|[9:25]|[36187万]|4.86 百合花…

深入理解nginx http响应限速功能

目录 1. 引言2. 配置参数2.1 limit_rate 配置指令2.2 limit_rate_after 配置指令2.3 其他限速配置 3. 源码分析 1. 引言 在现代互联网应用中&#xff0c;服务器的性能和响应速度是至关重要的。为了保证服务器的稳定性和可靠性&#xff0c;限制客户端对服务器的访问速度是一项重…

嵌入式linux学习第三天汇编语言点灯

嵌入式linux学习第三天汇编语言点灯 今天学习如何在linux板子上点灯。 I.MX6U GPIO 详解 我们发现I.MX6U GPIO是分为两类的&#xff0c;&#xff1a;SNVS 域的和通用的。在讨论i.MX6U或类似的复杂微处理器时&#xff0c;了解其GPIO&#xff08;通用输入输出&#xff09;引脚…

docker jenkins 部署springboot项目

1、创建jenkins容器 1&#xff0c;首先&#xff0c;我们需要创建一个 Jenkins 数据卷&#xff0c;用于存储 Jenkins 的配置信息。可以通过以下命令创建一个数据卷&#xff1a; docker volume create jenkins_data启动 Jenkins 容器并挂载数据卷&#xff1a; docker run -dit…

笔记本连接不上远程桌面,笔记本无法连接远程桌面的可能原因及解决方法

在使用远程桌面功能时&#xff0c;笔记本无法成功连接的情况可能由多种原因引起。为了有效地解决这个问题&#xff0c;我们需要逐一排查这些可能的原因&#xff0c;并采取相应的解决措施。 首先&#xff0c;网络连接稳定性是远程桌面连接成功的关键。请确保笔记本和远程计算机之…

【Linux】Docker 安装部署 Nacos

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 【Linux】Docker 安装部署 Nacos docker搜索na…

跟TED演讲学英文:4 pillars of college success in science by Freeman Hrabowski

4 pillars of college success in science Link: https://www.ted.com/talks/freeman_hrabowski_4_pillars_of_college_success_in_science Speaker: Freeman Hrabowski Date: February 2013 文章目录 4 pillars of college success in scienceIntroductionVocabularyTranscr…

IP规划案例

整个OSPF环境IP基于172.16.0.0/16划分 172.16.0.0/16 先分成2个网段&#xff08;OSPF RIP&#xff09;&#xff0c;借1位172.16.0.0/17 ---OSPF 再按区域划分&#xff08;5个区域&#xff09;&#xff0c;借3位 172.16.0.0/20 ---Area 0 三个环回 MGRE 4个网…

1-2 ARM单片机GPIO

def&#xff1a;通用输入输出口 GPIO输出模式原理讲解 1&#xff1a;推挽输出 2&#xff1a;复用推挽输出 电流最大是20mA&#xff0c;对于单片机来说总体的输出是由范围的 开漏/复用开漏输出 外部接上拉电阻的开漏输出 线与的概念 注&#xff1a; 与的概念&#xff1a;全1为1&…

解决Python中的 `ModuleNotFoundError: No module named ‘fcmeans‘` 错误

ModuleNotFoundError: No module named fcmeans 解决Python中的 ModuleNotFoundError: No module named fcmeans 错误如何解决这个错误fcmeans 库简介应用实例 解决Python中的 ModuleNotFoundError: No module named fcmeans 错误 在进行数据科学或机器学习项目时&#xff0c;…

什么是多模态大模型,有了大模型,为什么还要多模态大模型?

随着人工智能技术的愈演愈烈&#xff0c;其技术可以说是日新月异&#xff0c;每隔一段时间就会有新的技术和理念被创造出来&#xff1b;而多模态大模型也是其中之一。 什么是多模态 想弄明白什么是多模态大模型&#xff0c;那么首先就要弄明白什么是多模态。 简单来说&#x…

Baidu Comate——一款能让我开发效率翻倍的AI插件助手

Baidu Comate 背景 百度 Comate&#xff0c;Coding Mate Powered by AI。是文心大模型的智能代码助手&#xff0c;结合百度积累多年的编程现场大数据和外部优秀开源数据&#xff0c;可以生成更符合实际研发场景的优质代码。功能非常多可以推荐代码、生成代码注释、查找代码缺陷…