微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在用户不活动时切换自定义 video-js 组件可见性

如何解决如何在用户不活动时切换自定义 video-js 组件可见性

我在 React 中使用 VideoJS,并使用 videojs-overlay 创建了一个自定义标题栏组件。我想要的是,当用户处于非活动状态(鼠标不移动)时,该标题栏应该随着用户移动鼠标而淡出和淡入。这是在 ControlBar 组件中完成的,但对于自定义组件如何做尚不清楚。

var TitleBar = videojs.extend(Component,{
    constructor: function () {
        // It is important to invoke the superclass before anything else,// to get all the features of components out of the Box!
        Button.apply(this,arguments);
    },// The `createEl` function of a component creates its DOM element.
    createEl: function () {
        return videojs.dom.createEl('div',{
            //want to toggle show/hide on user activity here with CSS classes
            className: `vjs-title-bar`,alt: 'Title Bar',innerHTML: `
            <div class="back-btn" >
                <button onclick="alert(1234)" >
                    <span>
                        <i class="fas fa-long-arrow-left"></i>
                    </span>
                </button>
            </div>
            `,});
    },});

任何帮助将不胜感激

解决方法

我没有反应的经验,但试试这个:之后

Button.apply(this,arguments);

添加如下内容:

this.on(this.player(),["useractive","userinactive"],this.showHide);

然后将此函数添加到组件中:

showHide: function(ev) {
    if (ev.type === 'userinactive') {
        this.hide() //hide immediately! 
        //if you want animation,add class to your css and do this.addClass("myHideClass")
    } else {
        this.show();
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?