如何防止滚动直到页面加载

时间:2013-09-29 05:32:36

标签: javascript jquery html scroll loading

我使用此JavaScript直到我的页面加载它显示一个简单的图像。但问题是用户可以滚动页面使加载动画向上移动。我想阻止这个。任何人请帮助我。这是代码我use.Scrolling在Linux中被禁止(ubuntu)但我可以在Windows中滚动

4 个答案:

答案 0 :(得分:6)

使用此选项禁用滚动:

无滚动

$('html, body').css({
  'overflow': 'hidden',
  'height': '100%'
})

再次启用页面加载完成或页面就绪后启用滚动:

<强>滚动

$('html, body').css({
  'overflow': 'auto',
  'height': 'auto'
})

如果有任何问题,请回复,但在主要浏览器上进行测试......

答案 1 :(得分:1)

您需要添加固定位置:

&#13;
&#13;
$(window).load(function() {
  $('body').css({'overflow':'auto', 'height':'auto', 'position':'relative'});
});
&#13;
body {
    overflow: hidden;
    height: 100%;
    position: fixed;
    width:100%;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

你可以尝试将它放在CSS中的父div中

#mydiv {
    overflow:hidden 
}

现在在您的文档中添加: -

$('#mydiv').css('overflow', 'auto');

将此课程添加到您的身体

.stop-scrolling {
  height: 100%;
  overflow: hidden;
}

答案 3 :(得分:-1)

如果您执行@joe建议的操作,并且没有可用的js,并且您之后没有应用其他css规则,则屏幕将不可滚动。最好在身体标记后立即应用的脚本

<body>
<script>
  $('html, body').css({ 'overflow': 'hidden', 'height': '100%' })
</script>
...
  markup blah blah blah
...
<script>
  $('html, body').removeAttr('style')
</script>
</body>

并在body标签的底部放置另一个脚本以删除样式属性。

如果使用css而不是js,只需将样式标记放在脚本标记所在的相同位置