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

基于断点验证Pug中Div显示状态及切换视频的技术咨询

根据断点切换视频的几种实现方案

当然可以实现根据屏幕宽度(断点)切换不同的视频,这里给你几种简洁且实用的方案,适配你的Pug代码场景:

方案1:利用原生HTML5 video的source媒体查询(推荐)

这是最轻量化的实现方式,不需要额外CSS或JS,直接借助<source>标签的media属性指定断点条件,浏览器会自动加载匹配当前屏幕尺寸的视频源。

对应的Pug代码:

#Carousel.carousel.slide(data-ride='carousel')
  .carousel-inner
    .carousel-item.active
      video(muted='')
        // 默认加载原视频(屏幕宽度≥760px时)
        source(src="video.mp4", type='video/mp4')
        // 屏幕宽度<760px时加载响应式视频
        source(src="videoresponsive.mp4", type='video/mp4', media="(max-width: 759px)")

原理说明:浏览器会从上到下检查<source>的media条件,匹配到符合当前视口的源就会加载并播放,完美适配你的断点需求。

方案2:CSS媒体查询控制视频容器的显示/隐藏

如果需要对视频容器做额外样式控制(比如过渡动画),可以用两个独立的视频元素,通过CSS媒体查询切换它们的显示状态。

Pug代码

#Carousel.carousel.slide(data-ride='carousel')
  .carousel-inner
    .carousel-item.active
      // 桌面端视频
      .desktop-video
        video(muted='')
          source(src="video.mp4", type='video/mp4')
      // 移动端视频
      .mobile-video
        video(muted='')
          source(src="videoresponsive.mp4", type='video/mp4')

CSS代码(可嵌入Pug的style标签或外部样式表)

.mobile-video {
  display: none;
}

@media (max-width: 759px) {
  .desktop-video {
    display: none;
  }
  .mobile-video {
    display: block;
  }
}

方案3:JavaScript动态切换视频源

如果需要更复杂的交互逻辑(比如窗口 resize 时实时切换、加载提示等),可以用JS监听视口变化,动态修改video的src属性。

Pug代码

#Carousel.carousel.slide(data-ride='carousel')
  .carousel-inner
    .carousel-item.active
      video#responsive-video(muted='')
        source(src="video.mp4", type='video/mp4')

JavaScript代码

const video = document.getElementById('responsive-video');
const source = video.querySelector('source');

// 定义切换视频的函数
function switchVideoSource() {
  const isMobile = window.innerWidth < 760;
  source.src = isMobile ? 'videoresponsive.mp4' : 'video.mp4';
  // 重新加载视频
  video.load();
}

// 页面加载时执行一次
switchVideoSource();

// 监听窗口resize事件
window.addEventListener('resize', switchVideoSource);

注意:以上方案都能兼容Bootstrap的Carousel组件,不会影响轮播的正常功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 12:07:38