0

0

使用 JavaScript 实现具有淡入淡出效果的图像过渡

WBOY

WBOY

发布时间:2023-08-24 16:21:04

|

1678人浏览过

|

来源于tutorialspoint

转载

使用 javascript 实现具有淡入淡出效果的图像过渡

图像转换意味着更改图像并将一张图像替换为另一张图像。用户可以在图像滑块中看到图像过渡。

在开发图像滑块时,我们应该关注图像过渡的动画,以使应用程序具有有吸引力的用户体验。在本教程中,我们将学习使用各种图像过渡方法添加淡入淡出效果。

为图像添加类以显示具有淡入淡出效果的图像

我们可以使用 CSS 为图像过渡添加淡入淡出效果。 CSS 的过渡属性允许我们向图像添加任何过渡。因此,我们可以将 CSS 添加到一个类,并使用 JavaScript,我们可以将一个类添加到图像,这将为图像添加一个过渡

语法

用户可以按照下面的语法向图像添加一个类,以显示具有淡入淡出效果的图像。

立即学习Java免费学习笔记(深入)”;

document.getElementById("image").classList = 'class_name';

在上面的语法中,我们使用 id 访问图像并将“class_name”类添加到图像的类列表中。

示例

在下面的示例中,我们向网页添加了图像,并使用一些 CSS 给图像指定了高度和宽度。此外,我们还在 img 类中添加了值为 0 的不透明度。

此外,我们还向动画类添加了“transition”和“opacity”属性。最初,图像不包含“animate”类。当用户单击该按钮时,它会执行 FadeIn() 函数,将“animate”类添加到图像中。

在输出中,我们可以观察到当我们添加“animate”类时图像会淡入。

<html>
<head>
   <style>
      img {
         opacity: 0;
      }
      .animate {
         -webkit-transition: 2s;
         transition: 2s;
         opacity: 1;
      }
   </style>
</head>
<body>
   <h2> Using the <i> class </i> to add fadding effect in image transition </h2>
   <img id = "image" style = "width: 500px; height: 200px;" src = "https://www.tutorialspoint.com/static/images/logo-color.png" alt = "Logo Image"> <br>
   <button type = "button" onclick = "FadeIn()"> Fade In image </button>
   <script>
      function FadeIn() {
         document.getElementById("image").classList = 'animate';
      }
   </script>
</body>
</html>

使用 jQuery 的 fadeIn() 和 fadeout() 方法为图像添加淡入淡出过渡

JQuery的fadeout()方法允许我们以淡入淡出的效果从网页中删除图像。 fadeIn() 方法允许我们向网页添加具有淡入淡出效果的图像。

在这里,我们将使用 fadeout() 和 fadeIn() 方法为图像过渡添加适当的淡入淡出效果。

语法

用户可以按照以下语法使用JQuery的fadeout()和fadeIn()方法为图像过渡添加淡入淡出效果。

setInterval(fade, 3500);
function fade() {
   $("#slider img").eq(current).fadeOut(0);
   current = ++current % images.length;
   $("#slider img").eq(current).fadeIn(2000);
}

在上面的语法中,当前变量跟踪要在网页上显示的图像。我们使用 fadeIn() 方法显示当前图像并隐藏所有其他图像。

步骤

第 1 步 – 使用类名访问所有图像。

知我AI
知我AI

一款多端AI知识助理,通过一键生成播客/视频/文档/网页文章摘要、思维导图,提高个人知识获取效率;自动存储知识,通过与知识库聊天,提高知识利用效率。

下载

第 2 步 – 使用 for 循环迭代所有图像,并使用图像的 display 属性隐藏除第一张图像之外的所有图像。

第 3 步 – 创建一个名为“current”的变量并将其初始化为零。

步骤 4 – 创建一个 startImageTrans() 函数,并使用其中的 setInterval() 方法在每 3500 毫秒后调用 fade() 函数。不过,用户可以根据自己的需要设置时间间隔

步骤 5 – 在 fade() 函数内,使用 JQuery 的 eq() 方法访问当前子级。使用 fadeout() 方法隐藏当前图像。

第6步 – 将当前变量的值增加1,如果它大于图​​像总数,则将其设置为0。

第 7 步 – 使用 fadeIn() 方法显示当前图像。

示例

在下面的示例中,我们创建了 HTML div 元素并添加了五个不同的图像。我们在 JavaScript 中对所有图像一一实现了上述算法,并具有淡入淡出过渡效果。

<html>
<head>
   <script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
   <style>
      img {
         height: 200px;
         width: 500px;
      }
   </style>
</head>
<body>
   <h3> Using the <i> jQuery fadeIn() method </i> to add fadding effect in image transition </h3>
   <div id="slider">
      <img src = "https://www.tutorialspoint.com/static/images/logocolor.png" class = "sliderImage" alt = "Image 1">
      <img src ="https://www.tutorialspoint.com/images/trending_categories.svg" class = "sliderImage" alt = "Image 2">
      <img src = "https://www.tutorialspoint.com/images/Data-Structure.png" class = "sliderImage" alt = "Image 3">
      <img src = "https://www.tutorialspoint.com/images/Javascript.png" class = "sliderImage" alt = "Image 4">
   </div>
   <br> <br>
   <button type = "button" onclick = "startImageTrans()"> Start Image Transitions </button>
   <script>
      let images = document.querySelectorAll('.sliderImage');
      for (let i = 0; i < images.length; i++) {
         if (i != 0)
         images[i].style.display = "none";
      }
      var current = 0;
      function startImageTrans() {
         setInterval(fade, 3500);
      }
      function fade() {
         
         // hide the previous image with fading effect
         $("#slider img").eq(current).fadeOut(0);
         current++;
         current = current % images.length;
         
         // show a current image with fading effect
         $("#slider img").eq(current).fadeIn(2000);
      }
   </script>
</body>
</html>

使用 CSS 过渡属性为图像过渡添加淡入淡出效果

在这种方法中,我们将为 HTML 元素设置背景图像。此外,我们将为 HTML 元素的背景添加淡入淡出过渡。所以,每当我们改变背景时,它就会出现淡入淡出的效果。

语法

用户可以按照以下语法使用 CSS 过渡属性为背景图像添加淡入淡出效果。

<style>
#background-div {
   background-image: url("image_URL");
   transition: background 2s linear;
}
</style>
function FadeImage() {
   imageDiv.style.backgroundImage = `url(${allImages[current]})`;
}

我们使用上述语法中的 CSS 向元素添加了背景图像,并“过渡”到背景。每当我们使用 JavaScript 更改背景图像时,它都会自动将淡入淡出过渡应用于图像。

示例

在下面的示例中,div 元素包含初始背景图像。我们创建了包含不同背景图像的 URL 的图像数组。我们使用 setInterval() 方法每 3000 毫秒调用 fadeInImage() 函数。

在 fadeInImage() 函数中,我们反复更改背景图像,当图像更改时,会使用 CSS 进行淡入淡出过渡。

<html>
<head>
   <style>
      #background-div {
         background-position: center;
         background-size: cover;
         background-image:
         url("https://www.tutorialspoint.com/images/trending_categories.svg");
         display: flex;
         height: 300px;
         width: 600px;
         transition: background 2s linear;
      }
   </style>
</head>
<body>
   <h3>Using the <i> CSS transition </i> to add fadding effect in image transition</h3>
   <div id = "background-div"></div>
   <script>
      let allImages = [
         "https://www.tutorialspoint.com/images/trending_categories.svg",
         "https://www.tutorialspoint.com/javascript/images/javascript-minilogo.jpg",
         "https://www.tutorialspoint.com/css/images/css-mini-logo.jpg",
      ]
      const imageDiv = document.getElementById("background-div");
      setInterval(FadeImage, 3000);
      let current = 0;
      function FadeImage() {
         current++;
         if (current >= allImages.length) current = 0;
         imageDiv.style.backgroundImage = `url(${allImages[current]})`;
      }
   </script>
</body>
</html>

我们学习了三种为图像过渡添加淡入淡出效果的方法。我们在第二种方法中使用了 JQuery 的 fadeIn() 和 fadeout() 方法,在第一种和第三种方法中使用了 CSS 的“transition”属性。

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
jquery插件有哪些
jquery插件有哪些

jquery插件有jQuery UI、jQuery Validate、jQuery DataTables、jQuery Slick、jQuery LazyLoad、jQuery Countdown、jQuery Lightbox、jQuery FullCalendar、jQuery Chosen和jQuery EasyUI等。本专题为大家提供jquery插件相关的文章、下载、课程内容,供大家免费下载体验。

156

2023.09.12

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

337

2023.10.13

jquery删除元素的方法
jquery删除元素的方法

jquery可以通过.remove() 方法、 .detach() 方法、.empty() 方法、.unwrap() 方法、.replaceWith() 方法、.html('') 方法和.hide() 方法来删除元素。更多关于jquery相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

406

2023.11.10

jQuery hover()方法的使用
jQuery hover()方法的使用

hover()是jQuery中一个常用的方法,它用于绑定两个事件处理函数,这两个函数将在鼠标指针进入和离开匹配的元素时执行。想了解更多hover()的相关内容,可以阅读本专题下面的文章。

516

2023.12.04

jquery实现分页方法
jquery实现分页方法

在jQuery中实现分页可以使用插件或者自定义实现。想了解更多jquery分页的相关内容,可以阅读本专题下面的文章。

312

2023.12.06

jquery中隐藏元素是什么
jquery中隐藏元素是什么

jquery中隐藏元素是非常重要的一个概念,在使用jquery隐藏元素之前,需要先了解css样式中关于元素隐藏的属性,比如display、visibility、opacity等属性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

129

2024.02.23

jquery中什么是高亮显示
jquery中什么是高亮显示

jquery中高亮显示是指对页面搜索关键词时进行高亮显示,其实现办法:1、先获取要高亮显示的行,获取搜索的内容,再遍历整行内容,最后添加高亮颜色;2、使用“jquery highlight”高亮插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

184

2024.02.23

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

51

2026.01.13

chatgpt使用指南
chatgpt使用指南

本专题整合了chatgpt使用教程、新手使用说明等等相关内容,阅读专题下面的文章了解更多详细内容。

0

2026.03.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号