【问题标题】:How to hide controls on video full screen while mouse is not moving?鼠标不动时如何在视频全屏上隐藏控件?
【发布时间】:2016-12-28 09:11:07
【问题描述】:

基本上,我已经为我的 WEB 视频制作了自己的自定义控件。现在,如果视频处于全屏模式并且鼠标没有移动,我需要隐藏我的控件。

到目前为止,我正在做的是:

var fullscreen_or_not=0;
document.addEventListener('webkitfullscreenchange', videoscreenmode, false);
document.addEventListener('mozfullscreenchange', videoscreenmode, false);
document.addEventListener('fullscreenchange', videoscreenmode, false);

function videoscreenmode(){
    if(fullscreen_or_not==0){
        fullscreen_or_not=1;
        $('.controls').css("bottom","-65px");
        document.onmousemove = function(){
            $('.controls').css("bottom","0px");
            console.log("hey");
        }
    }else{
        fullscreen_or_not=0;
    }
}

仅供参考:如果鼠标没有移动,我需要将控件底部位置设置为-65px,否则设置为0。

但这没有用,一旦视频进入全屏模式,onmousemove 的事件监听器就会启动,即使我退出它,它仍然会在控制台上监听并输出我说 hey。

如果有人告诉我如何将我的控件(包含 div)底部位置设置为 -65px,如果鼠标没有在文档全屏上移动,否则将底部位置设置为 0px,我将不胜感激。

提前致谢:)

【问题讨论】:

  • 提供一个有效的示例链接,以便有人可以提供帮助。
  • “嘿”是否登录到您的控制台?
  • @Roberrrt 是的,如果视频一旦进入全屏,然后视频退出或停留在视频中,仍然会一遍又一遍地输出hey。
  • 你的控件不是就在你的全屏视频下面吗?
  • @roberrt 通常我在 css 中的控件位置设置为-65px。并将鼠标悬停在视频上它会返回到0px

标签: javascript jquery html css


【解决方案1】:

可能会帮助别人。

简单易行的方法:

var timeout = null;
$(video).on('mousemove', function() {
    clearTimeout(timeout);
    $('.controls').css("bottom","0px");
    timeout = setTimeout(function() {
        $('.vidCE').css("bottom","-65px");
    }, 3000);
});

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 2011-04-10
    • 1970-01-01
    • 2013-07-14
    • 2018-12-29
    相关资源
    最近更新 更多