You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

slideInUp动画完成后点击面板无法打开链接的React问题

解决React卡片动画后点击失效问题

问题:作为React和animate.css新手,实现了绿色背景带文字滑落到图片上的动画效果,但只有动画执行前点击底层图片能打开新链接,动画完成后点击绿色面板区域时跳转功能失效。

问题原因

当前代码里<a>标签仅包裹了图片元素,动画完成后.proj-txtx(绿色面板)会覆盖在图片上方,此时点击绿色面板区域,实际触发的是未绑定跳转的.proj-txtx元素,而非<a>标签,导致跳转失效。

修复方案

将整个卡片的可点击区域(图片+绿色面板)都包裹进<a>标签内,确保点击图片或动画后的绿色面板都能触发跳转:

修改后的代码:

export const Card = ({ title, description, imgUrl, link}) => { 
  return (
    <Col size={12} sm={6} md={4}>
      <div className="proj-imgbx">
        <a href={link} target="_blank" rel="noopener noreferrer">
          <img src={imgUrl} alt={title} />
          <div className="proj-txtx">
            <h4>{title}</h4>
            <span>{description}</span>
          </div>
        </a>
      </div>
    </Col>
  ) 
}

额外优化说明

  • 给<a>标签添加rel="noopener noreferrer",这是打开新窗口时的安全最佳实践,避免潜在安全风险。
  • 给<img>补充alt属性,提升页面可访问性,同时符合React规范。
  • 移除<img>上无效的href属性,该属性仅适用于<a>标签。

如果你的CSS中给.proj-txtx设置了pointer-events: none,请移除该样式,否则即使包裹进<a>标签也无法触发点击。

内容的提问来源于stack exchange,提问作者shellsea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 07:50:14