正在尝试隐藏文档,直到它';用JavaScript更新了它
这是我的正在尝试隐藏文档,直到它';用JavaScript更新了它,javascript,jquery,html,Javascript,Jquery,Html,这是我的ready处理: $(document).ready(function() { $(document).hide(); $('.foo').each(function(elem, i) { $(elem).text('So long and thanks for all the fish'); }); $(document).show(); }}; 我试图做的是完全隐藏文档,直到按照我的条件一切就绪,但是show
ready
处理:
$(document).ready(function() {
$(document).hide();
$('.foo').each(function(elem, i) {
$(elem).text('So long and thanks for all the fish');
});
$(document).show();
}};
我试图做的是完全隐藏文档,直到按照我的条件一切就绪,但是show()
函数似乎没有等待元素迭代
顺便说一句,我尝试将show()
和hide()
更改为css('display','hide')
和css('display','block')
,但是你仍然可以看到,文本在你的眼睛中发生了变化
在调用show()之前,如何确保所有代码都已运行?您不能隐藏文档。相反,尝试隐藏页面上的主容器元素;或者隐藏正文
,例如$('body')。hide()
也可以
顺便说一句:display
属性应该是none
hide
不是有效值。您不能hide()
文档。相反,尝试隐藏页面上的主容器元素;或者隐藏正文
,例如$('body')。hide()
也可以
顺便说一句:display
属性应该是none
hide
不是有效值。假设您通过隐藏主体或容器元素来解决此问题。这不管用,原因如下:
在文档加载(大部分)后但在隐藏文档之前会发生什么
没错,尽管您尽了最大努力,文档可能会在这段时间内显示出来
因此,您可以改为使用一个CSS类来隐藏,比如说,主体
,而无需任何JavaScript干预。例如:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<style>
body.hide { display: none; }
</style>
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(document).ready( function() {
$('.foo').each(function( i, elem ) {
$(elem).text( 'So long and thanks for all the fish' );
});
$('body').removeClass( 'hide' );
});
</script>
</head>
<body class="hide">
<div class="foo"></div>
</body>
</html>
现在您有了一个非JavaScript回退,但是启用JavaScript后文档仍然会立即隐藏,因为添加了hide
类的代码
还要注意的是,在$().each()
回调中,参数被颠倒了。(非常有趣的是,您使用的顺序更有意义,实际上是较新的本机.forEach()
函数使用的顺序。$()中的顺序。each()
实际上是向后的-在当时看起来是个好主意,但实际上只是一个错误。)假设您通过隐藏主体或容器元素来解决此问题。这不管用,原因如下:
在文档加载(大部分)后但在隐藏文档之前会发生什么
没错,尽管您尽了最大努力,文档可能会在这段时间内显示出来
因此,您可以改为使用一个CSS类来隐藏,比如说,主体
,而无需任何JavaScript干预。例如:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<style>
body.hide { display: none; }
</style>
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(document).ready( function() {
$('.foo').each(function( i, elem ) {
$(elem).text( 'So long and thanks for all the fish' );
});
$('body').removeClass( 'hide' );
});
</script>
</head>
<body class="hide">
<div class="foo"></div>
</body>
</html>
现在您有了一个非JavaScript回退,但是启用JavaScript后文档仍然会立即隐藏,因为添加了hide
类的代码
还要注意的是,在$().each()
回调中,参数被颠倒了。(非常有趣的是,您使用的顺序更有意义,实际上是较新的本机.forEach()
函数使用的顺序。$()中的顺序。每个()
都是向后的-在当时看起来是个好主意,但实际上只是一个错误。)您可能应该做类似$(“body”).hide()
,我认为您不能在文档
这样的实体上设置css属性。它应该是css('display','none');而不是'hide'@Mash-这是一个输入错误。您right@ewein-当没有异步代码时,您不需要回调。您可能应该执行类似于$(“body”).hide()的操作
,我认为你不能在像文档这样的实体上设置css属性。它应该是css('display','none');而不是'hide'@Mash-这是一个输入错误。你知道吗right@ewein-当没有异步代码时,不需要回调。