首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

交叉淡入淡出2个元素以创建不带js的循环动画

交叉淡入淡出是一种常见的动画效果,用于在网页或应用程序中创建平滑的过渡效果。它通常用于图片轮播、幻灯片展示或页面切换等场景。

交叉淡入淡出动画的实现方式有多种,其中一种常见的方法是使用CSS3的过渡(transition)属性和关键帧动画(keyframes)。通过设置元素的透明度(opacity)属性和过渡时间(transition-duration),可以实现元素的淡入淡出效果。

以下是一个示例代码,演示了如何使用CSS实现交叉淡入淡出动画:

HTML代码:

代码语言:txt
复制
<div class="slideshow">
  <img src="image1.jpg" alt="Image 1">
  <img src="image2.jpg" alt="Image 2">
</div>

CSS代码:

代码语言:txt
复制
.slideshow {
  position: relative;
  width: 500px;
  height: 300px;
  overflow: hidden;
}

.slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slideshow img:first-child {
  opacity: 1;
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.slideshow img.fade-in {
  animation: fade 1s ease-in-out;
  opacity: 1;
}

.slideshow img.fade-out {
  animation: fade 1s ease-in-out reverse;
  opacity: 0;
}

JavaScript代码:

代码语言:txt
复制
function crossFade() {
  var images = document.querySelectorAll('.slideshow img');
  var currentImage = document.querySelector('.slideshow img.fade-in');
  var nextImage = currentImage.nextElementSibling || images[0];

  currentImage.classList.remove('fade-in');
  currentImage.classList.add('fade-out');
  nextImage.classList.add('fade-in');
}

setInterval(crossFade, 3000);

在上述代码中,通过设置.slideshow容器的宽度和高度,以及设置图片的绝对定位,实现了图片的叠加效果。初始状态下,第一张图片的透明度为1,其余图片的透明度为0。通过CSS的过渡属性和关键帧动画,实现了图片的淡入淡出效果。

JavaScript部分定义了一个crossFade函数,用于切换图片的显示状态。通过setInterval函数定时调用crossFade函数,实现了循环播放的效果。

推荐的腾讯云相关产品:腾讯云对象存储(COS),提供了高可靠、低成本的云端存储服务,适用于存储和管理各种类型的媒体文件。产品介绍链接地址:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android开发笔记(十五)淡入淡出动画TransitionDrawable

说到淡入淡出动画,可能大家会想到补间动画里面的AlphaAnimation,不过这个深浅动画只能对透明度做渐变效果,也就是只能对一个图形做深浅的颜色变换。如果我们想要从A图片逐渐变为B图片,也就是要实现淡入淡出(Fade-in and Fade-out)效果时,AlphaAnimation显然就不够用了。 幸好Andoird急我们之所急,想我们之所想,Animation不行,还有Drawable可以试试呀。前面的博文在图形章节中,博主提到了下列几种Drawable: 1、StateListDrawable:详见《Android开发笔记(七)初识Drawable》 2、ShapeDrawable:详见《Android开发笔记(八)神奇的shape》 3、NinePatchDrawable:详见《Android开发笔记(九)特别的.9图片》 其实Drawable种类繁多,远不止这三种。如果认真阅读Android的开发文档,也许你已经发现了TransitionDrawable,就是TransitionDrawable能帮助我们实现淡入淡出的动画效果。 废话少说,直接上代码看看TransitionDrawable是怎么工作的。下面代码同时实现了AlphaAnimation和TransitionDrawable的使用,方便大家对比这两种动画效果。

02
领券