首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过jquery操作WebVTT线索

通过jquery操作WebVTT线索
EN

Stack Overflow用户
提问于 2019-03-11 09:02:16
回答 1查看 354关注 0票数 0

我想通过jquery操纵伪元素:“:线索”。假设我有这样的视频:

代码语言:javascript
复制
<video id="my_video">
  <source src="my_video.mp4" type="video/mp4">
  <track src="my_subtitles.vtt" kind="subtitles" srclang="en" label="English">
</video>

如何使用jquery动态地更改其字幕的颜色?

我试过这个:

代码语言:javascript
复制
$('#my_video::cue').css({
  'color': '#ff0000 !important'
});

但这是行不通的。我唯一能做的就是:

代码语言:javascript
复制
$('#captions_style').remove();
$('head').append(
  '<style id="captions_style">#my_video::cue{color: #ff0000 !important}</style>'
);

但我觉得这不雅致。还有别的办法吗?

谢谢,并向约瑟夫问好

EN

回答 1

Stack Overflow用户

发布于 2019-10-11 16:36:03

就像必须添加到类::before::after中的元素一样,元素::cue应用相同的规则,它不能被javascriptjquery直接更改,但是可以添加类并从元素中删除类,这样就可以生成更动态的代码:

您的HTML文件

代码语言:javascript
复制
<video id="my_video_element" controls loop>

    <source src="video.mp4" type="video/mp4">
    <track kind="captions" src="web.vtt" srclang=" EN " label="EN">

</video>

<!-- this button/link this button will change the values -->
<a href="#" class="chance_caption">Click to change VTT</a>

CSS文件.alphaclass::cue{

代码语言:javascript
复制
    background: #09f;
    color: #000;

}

和带有Jquery文件的JS

代码语言:javascript
复制
$(document).ready(function() {

    $('.chance_caption').click(function(){

        $('#my_video_element').addClass('alphaclass');

        return false;

    });

});

创建类的优点是,当您在一个视频元素中定义时,可以使用utilizando $(element).removeClass(‘NameClass’);$(element).addClass(‘NameClass’);在另一个视频元素中应用。

希望我能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55098318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档