[英]Remove vertical scrollbar on fullscreen?
我想在切换到全屏后删除垂直滚动条。
这是我目前正在使用的脚本:
<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>
我试过这样没有任何成功:
<script type="text/javascript">
if(window.fullScreen) {
$("html").css("overflow", "hidden");
} else {
$("html").css("overflow", "auto");
}
</script>
坦克你一如既往。
编辑: <script type="text/javascript" src="jquery.js"></script>
正在加载,其他jquery脚本正常工作。
编辑:我测试过:
$(document).ready(function() {
$("body").css("overflow", "hidden");
});
它的工作原理! 因此我认为由于某种原因,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>
如果你想使用这个,不要忘记将功能附加到身体,例如:
<body onkeydown="scrollbar();">
更新:
除了firefox之外,还有chrome,opera,即safari的工作! 可以做些什么来修复firefox?
看起来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>
这将函数绑定到resize事件处理程序,您应该看到正确的结果! 如果这样的作品将是这样做的更加美好和可靠的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.