javascript - 自动在一行 CSS 中淡入淡出同一张图片
问题描述
我有一张想要自动淡入淡出的图像。我已经阅读过关于过渡和动画的内容,并且想使用一种或两种样式(不是样式声明)。可以通过 JavaScript 启动动画。
在MDN 上的这个示例中,您可以看到通过切换类在页面加载时对项目进行动画处理。我希望它比这更简单。
这是我到目前为止所拥有的,它似乎应该可以工作,但事实并非如此。
function updateTransition(id) {
var myElement = document.getElementById(id);
var opacity = myElement.style.opacity;
if (opacity==null || opacity=="") opacity = 1;
myElement.style.opacity = opacity==0 && opacity!="" ? 1 : 0;
}
var id = window.setInterval(updateTransition, 5000, "myElement");
updateTransition("myElement");
#myElement {
background-color:#f3f3f3;
width:100px;
height:100px;
top:40px;
left:40px;
font-family: sans-serif;
position: relative;
animation: opacity 3s linear 1s infinite alternate;
}
<div id="myElement"></div>
此外,这里是使用幻灯片动画的无限循环动画示例(列表中的 3 个示例)。我想要同样的,但不透明。
https://developer.mozilla.org/en-US/docs/Web/CSS/animation
链接的问题与此不同。正如我所说,“单线样式(不是样式声明)”。
解决方案
您需要的是使用关键帧定义动画。如果您尝试应用多个动画,您可以为动画 CSS 属性提供参数列表。这是一个应用滑入和淡入淡出动画的示例。
.fade {
width:100px;
height:100px;
background-color:red;
position:relative;
animation-name:fadeinout, slidein;
animation-duration:2s, 1s;
animation-iteration-count:infinite, 1;
animation-direction:alternate, normal;
}
@keyframes fadeinout {
0% {
opacity:0
}
100% {
opacity:100
}
}
@keyframes slidein {
from {
left:-100px;
}
to {
left:0px;
}
}
<div class='fade'>
</div>
推荐阅读
- javascript - 如何等到 image.src 在 image.onload 事件函数中设置?
- amazon-s3 - 根据策略无效:策略条件失败:["eq"、"$x-amz-storage-class"、"STANDARD_IA"]
- c - 是否可以从内核空间使用 DRM 驱动程序?
- javascript - 卡住滑块脚本。如何正确设计滑块功能?
- python - Python中函数的这个特性正式称为什么?
- c# - 如何在 Visual Studio 中使用 LINQPad 脚本?
- python - 有人可以帮我将其格式化为电话号码的形式:000-000-0000
- python - 为什么我在 AlienInvasion.py 上收到 NameError
- javascript - whatsapp的简单发送表格
- kubernetes - Kubernetes 部署终止最旧的 Pod