全屏删除垂直滚动条?

obi*_*oob 4 javascript jquery

我想在切换到全屏后删除垂直滚动条.

这是我目前正在使用的脚本:

<script type="text/javascript">
if((window.fullScreen) || (window.innerWidth == screen.width && window.innerHeight == screen.height)) {
    $("html").css("overflow", "hidden");
} else {
    $("html").css("overflow", "auto");
}
</script>
Run Code Online (Sandbox Code Playgroud)

我试过这样没有任何成功:

<script type="text/javascript">
if(window.fullScreen) {
    $("html").css("overflow", "hidden");
} else {
    $("html").css("overflow", "auto");
}
</script>
Run Code Online (Sandbox Code Playgroud)

坦克你一如既往.

编辑: <script type="text/javascript" src="jquery.js"></script>正在加载和其他jquery脚本正常工作.

编辑:我测试过:

$(document).ready(function() {
    $("body").css("overflow", "hidden");
});
Run Code Online (Sandbox Code Playgroud)

它的工作原理!因此我认为由于某种原因,JavaScript条件代码无效! if((window.fullScreen) || (window.innerWidth == screen.width && window.innerHeight == screen.height))...

编辑:

找到解决方案

<script type="text/javascript">
var control = 0;

function scrollbar(){
    if(event.keyCode == 122 && control == 0){
        //remove scrollbar
        $("body").css("overflow", "hidden");
        control = 1;
    }
    else{
        //add scrollbar
        $("body").css("overflow", "auto");
        control = 0;
    }
}

</script>
Run Code Online (Sandbox Code Playgroud)

如果你想使用这个,不要忘记将功能附加到身体,例如:

<body onkeydown="scrollbar();">
Run Code Online (Sandbox Code Playgroud)

更新:

除了firefox之外,还有chrome,opera,即safari的工作!可以做些什么来修复firefox?

Bud*_*nWA 6

看起来javascript仅在文档加载时运行一次,之后不再重新评估.如果这是唯一的问题,如果您是全屏,则应该看到正确的行为,然后加载页面.要解决此问题,您必须从代码中创建一个函数,并在每次调整窗口大小时调用它.使用jQuery,您可以使用匿名函数执行此操作:

<script type="text/javascript">
$(window).resize(function() {
    if((window.fullScreen) || (window.innerWidth == screen.width && window.innerHeight == screen.height)) {
        $("html").css("overflow", "hidden");
    } else {
        $("html").css("overflow", "auto");
    }
});

$(document).ready(function(){
    $(window).resize();
    // trigger the function when the page loads
    // if you have another $(document).ready(), simply add this line to it
});
</script>
Run Code Online (Sandbox Code Playgroud)

这将函数绑定到resize事件处理程序,您应该看到正确的结果!如果这样的作品这将是一个很大做的更好,稳健的方式.