【问题标题】:how to avoid changes on video height while changing its attributes如何在更改其属性时避免更改视频高度
【发布时间】:2020-11-16 18:57:39
【问题描述】:

点击按钮改变视频postersrc属性
点击后视频高度变为0 - 一小段时间 - 但足以在整个页面上产生丑陋的效果
如何避免这种情况?
注意 - lorem.mp4ipsum.mp4 具有相同的分辨率和尺寸

<video class='vtop' id='player' controls poster='lorem.jpg'>
<source src='lorem.mp4' type='video/mp4'>
</video>

js

var player = $('#player');
$('button').on('click', function(){
    player.attr('poster', 'ipsum.jpg');
    player.attr('src', 'ipsum.mp4');
    player[0].play();
});

【问题讨论】:

    标签: javascript html jquery video


    【解决方案1】:

    我尝试了您的代码并向其中添加了一个 css 文件并给视频一个固定高度:

    video {
      height: 400px;
    }

    我觉得够用了,点击按钮没看到什么特殊效果。

    【讨论】:

    • 在这种情况下视频没有响应
    【解决方案2】:

    高度会发生变化,因为您的视频播放器高度取决于视频高度。当您更改src 时,视频播放器的高度也会发生变化。您需要做的只是为您的video 标签指定height

    【讨论】:

    • 不,新视频的高度相同。此外,固定高度不响应
    • 你可以指定最小高度。因此,在加载视频的那一刻,播放器将具有最小高度值。如果您真的希望播放器保持旧高度,在您的点击处理程序上,您可以在 src 更改之前测量当前高度,应用它,然后在 loadeddata 事件上删除
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    相关资源
    最近更新 更多