利用动画实现轮播图的自动播放

在逆战班学习有一个月了,这一个月我们学习了很多关于简单动态界面的制作,其中我觉得最有意思的是利用动画实现轮播图的自动播放。一般我们让轮播图自动播放需要利用JS的配合才能实现。但是我们也可以利用动画实现简单的轮播图的自动播放,接着我介绍下怎么利用动画来实现它。

我们得知道,什么是轮播图,所谓的轮播图就是在固定大小的容器里每次放置一张图片,然后通过位移来让它的所有图片依次通过这个容器,这样就可以实现图片的轮播;

首先我们先找4张图作为我们轮播图的图片:

在这里插入图片描述
然后我们来写他们的样式:还是一样的程序,我们先重置默认样式:
在这里插入图片描述

将我们的图片转为块是为了消除他默认样式的影响,但是带来了新的问题就是我们的图片在这种情况下是上下排列,我们这里以从右向左轮播为例,所以我们首先要将我们的四张图片排为左右排列,我们可以利用我们的浮动实现:
在这里插入图片描述
我们的这四张图都是1226460的,所以我们将我们的div大小也设置成1226460.
在这里插入图片描述

接下来我们给包含这四张图片的容器div一个宽为4倍大小(因为我们是4张图)的尺寸:(我们给最外层的容器一个边框,这样方便我们观察)
在这里插入图片描述
在这里插入图片描述

这时候我们的效果是这样的:
在这里插入图片描述

在实际操作过程中我们只想让它显示一张,可是这儿有四张,我们可以通过给我们的最外层元素设置一个溢出隐藏,这样我们实际的效果就是只可以看到一张,但是在它的后面还有三张图片只不过是看不到而已:效果如下图:
在这里插入图片描述

接下来我们该通过我们的动画来实现他们的轮播了:我们写我们的动画,先给我们的图片设置一下动画的名称、时间等属性:
在这里插入图片描述

然后通过@keyframes创建动画:
在这里插入图片描述

这样分段这是他们的位移就可以实现轮播图的动画效果。

总结:用动画去设置轮播图有它的弊端,就是当我们鼠标悬停的时候动画不会去静止,它会按照设置好的动画一直轮播,要想实现网页中的鼠标悬停的动画效果那就必须通过JS去实现了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 VSCode 中实现图片轮播效果,需要使用 HTML、CSS 和 JavaScript 来创建一个轮播组件。以下是一些基本步骤: 1. 在 HTML 文件中创建一个容器 div,用于包含轮播组件。 2. 在容器 div 中创建一个 img 元素,用于显示当前图片。 3. 在容器 div 中创建一个按钮组,用于切换图片。 4. 使用 CSS 样式来设置容器和按钮组的样式。 5. 使用 JavaScript 编写轮播组件的逻辑,包括按钮点击事件和自动轮播事件。 下面是一个简单的示例代码: HTML: ``` <div class="slideshow"> <img src="image1.jpg" alt="Image 1"> <div class="buttons"> <button class="prev">❮</button> <button class="next">❯</button> </div> </div> ``` CSS: ``` .slideshow { position: relative; width: 100%; height: 400px; overflow: hidden; } .slideshow img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 1; transition: opacity 1s ease-in-out; } .slideshow img:not(:first-child) { opacity: 0; } .buttons { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); } .buttons button { background: none; border: none; color: white; font-size: 24px; cursor: pointer; outline: none; padding: 10px; } .buttons button:hover { background-color: rgba(255, 255, 255, 0.2); } ``` JavaScript: ``` const slideshow = document.querySelector('.slideshow'); const slides = slideshow.querySelectorAll('img'); const prevButton = slideshow.querySelector('.prev'); const nextButton = slideshow.querySelector('.next'); let currentSlide = 0; function showSlide(n) { slides[currentSlide].style.opacity = 0; currentSlide = (n + slides.length) % slides.length; slides[currentSlide].style.opacity = 1; } function nextSlide() { showSlide(currentSlide + 1); } function prevSlide() { showSlide(currentSlide - 1); } nextButton.addEventListener('click', nextSlide); prevButton.addEventListener('click', prevSlide); setInterval(nextSlide, 5000); ``` 这个示例代码实现了一个简单的轮播组件,其中图片会自动轮播,并且可以通过按钮切换。你可以根据需要来修改代码,并添加更多功能,比如添加指示器、动画效果等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值