在Nextjs中,当我将鼠标悬停在图像上时,我可以更改src using状态,但我想用像fadein、fadeout这样的动画来实现这一点.

const [logoSrc, setLogoSrc] = useState("/logo.png");
<Image
   src={logoSrc}
   width={237}
   height={64}
   priority
   onMouseEnter={() => {
      setLogoSrc("/hover-logo.png");
    }}
      onMouseOut={() => {
      setLogoSrc("/logo.png");
    }}
/>

推荐答案

令人遗憾的是,一幅图像的src度不属于animatable properties度.如果需要动画,可以加载这两个图像,通过CSS隐藏和显示它们,如下所示:

body {
  margin: 0;
}
.img-container {
  position: relative;
  height: 100vh;
}

.img-container .img2 {
  opacity: 0;
  transition: 1s;
}

.img-container:hover .img2 {
  opacity: 1;
}

.img-container img {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
<div class="img-container">
  <img class="img1" src="https://images.unsplash.com/photo-1648737966174-c5ef7b893fcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDF8MHxlZGl0b3JpYWwtZmVlZHwxfHx8ZW58MHx8fHw%3D&auto=format&fit=crop&w=500&q=60" />
  <img class="img2" src="https://images.unsplash.com/photo-1654175979772-0f0eaa672d08?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw4fHx8ZW58MHx8fHw%3D&auto=format&fit=crop&w=500&q=60" />
</div>

Javascript相关问答推荐

TypScript界面中的Infer React子props

Google Apps脚本中的discord邀请API响应的日期解析问题

如何从JSON数组添加Google Maps标记—或者如何为数组添加参数到标记构造器

在观察框架中搜索CSV数据

无法读取未定义错误的属性路径名''

Prisma具有至少一个值的多对多关系

Chart.js-显示值应该在其中的引用区域

我可以使用空手道用户界面来获取网页的当前滚动位置吗?

创建以键值对为有效负载的Redux Reducer时,基于键的类型检测

AJAX POST在控制器中返回空(ASP.NET MVC)

使用Document.Evaluate() Select 一个包含撇号的HTML元素

OnClick更改Json数组JSX中的图像源

如何使本地html页面在重新加载时保持当前可隐藏部分的打开状态?

有没有办法更改Chart.js 3.x.x中主要刻度的字体?

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

为什么在运行于<;img>;事件处理程序中的JavaScript中x和y是不可变的?

在点击链接后重定向至url之前暂停

使用JAVASCRIPT-使用If和Else If多次判断条件-使用JAVASRIPT对象及其属性

JS:inline date子串.

如何将PNG图像放在wix站点的Open Streemap map 上,使PNG图像成为 map 不可分割的一部分?