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

如何用同一按钮实现点击翻转图片、再次点击还原的效果

你现有代码的问题是每次点击都会强制给图片设置scaleX(-1)的翻转属性,没有做状态判断切换,所以只能实现第一次翻转,后续点击都不会还原。

方案1:用类切换实现(更推荐)

这种方式代码更简洁,后续要加过渡动画等扩展需求也更方便。
首先在CSS中定义翻转状态的类:

.flipped {
  transform: scaleX(-1);
  /* 要平滑翻转效果可以加下面这行 */
  transition: transform 0.3s ease;
}

然后修改JS代码为切换类即可:

$('.button').on("click", function (){ 
  $('#image').toggleClass('flipped');
})

方案2:直接通过JS判断状态修改属性

如果不想额外加CSS类,可以直接判断当前图片的transform状态做切换:

$('.button').on("click", function (){ 
  const $targetImg = $('#image');
  const currentTransform = $targetImg.css('transform');
  // 浏览器获取transform属性会返回矩阵格式,scaleX(-1)对应矩阵为matrix(-1, 0, 0, 1, 0, 0)
  if (currentTransform.includes('matrix(-1') || currentTransform === 'scaleX(-1)') {
    $targetImg.css("transform","scaleX(1)");
  } else {
    $targetImg.css("transform","scaleX(-1)");
  }
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:39:01