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

如何创建按钮实现Vimeo视频镜像翻转及恢复正常视图功能

解决方案

你之前的transform: scaleX(-1)失效的核心原因是Vimeo嵌入内容存放于跨域iframe中,你没有权限直接操作iframe内部的<video>元素样式,直接给iframe本身添加transform规则容易受布局属性影响失效,更稳妥的方案是给iframe外层包裹容器添加翻转样式。

完整实现代码

HTML 结构

<!-- Vimeo视频包裹容器 -->
<div class="vimeo-wrapper">
  <!-- 替换src为你自己的Vimeo视频嵌入地址 -->
  <iframe src="https://player.vimeo.com/video/替换为你的视频ID" width="640" height="360" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>
</div>

<!-- 功能操作按钮 -->
<button id="mirror-btn">镜像翻转视频</button>
<button id="reset-btn">恢复正常视图</button>

CSS 样式

.vimeo-wrapper {
  display: inline-block;
  /* 可选:添加翻转过渡动画 */
  transition: transform 0.3s ease;
}

/* 镜像翻转激活类 */
.vimeo-wrapper.mirrored {
  transform: scaleX(-1);
}

JavaScript 逻辑

// 选中对应元素
const vimeoWrapper = document.querySelector('.vimeo-wrapper');
const mirrorBtn = document.getElementById('mirror-btn');
const resetBtn = document.getElementById('reset-btn');

// 绑定镜像翻转事件
mirrorBtn.addEventListener('click', () => {
  vimeoWrapper.classList.add('mirrored');
});

// 绑定恢复正常事件
resetBtn.addEventListener('click', () => {
  vimeoWrapper.classList.remove('mirrored');
});

补充说明

  • 如果需要给页面内多个Vimeo视频添加翻转功能,修改选择器逻辑遍历所有.vimeo-wrapper容器即可
  • 有自定义样式需求可以直接在.vimeo-wrapper.mirrored下追加对应规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:09:03