我的页面上有一个组件需要隐藏,直到文档准备就绪。因此,我定义了几个DIV并实现了文档就绪功能:
<div id="LoadingDiv" style="display:block;text-align:center">
<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i>
</div>
<div class="form-horizontal" id="LoadedDiv" style="display:none;">
...
</div>
<script type="text/javascript">
$(document).ready(function () {
setTimeout(function () {
document.getElementById("LoadingDiv").style.display = "none";
document.getElementById("LoadedDiv").style.display = "block";
}, 500);
})
$(document).on("change", function () {
window.onbeforeunload = function () {
return "your changes to this form have not been saved";
};
})
</script>
虽然这似乎有效,但它会产生“预期的功能”。浏览器的开发者控制台中出错。我已尝试过各种不同的表达方式 - 见下文。我也试过用一些像警报这样简单的东西来替换功能体(&#34; me&#34;)。如果我删除准备好的&#39;该错误就会消失。功能,但保持文件“改变”#39;功能。因此,我现在非常确定问题出在“准备好了”的问题上。功能定义。
顺便说一下,我使用带有Bootstrap 3.3.6的JQuery 2.2.0。
答案 0 :(得分:1)
你忘了补充;在功能结束时。在这两个功能中。
$(document).ready(function () {
setTimeout(function () {
document.getElementById("LoadingDiv").style.display = "none";
document.getElementById("LoadedDiv").style.display = "block";
}, 500);
}); //added ; at the end of function.
尝试用您的代码替换此代码......
答案 1 :(得分:0)
好好发现了Gaurang!我需要新的眼镜;-)正确的代码是
<div id="LoadingDiv" style="display:block;text-align:center">
<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i>
</div>
<div class="form-horizontal" id="LoadedDiv" style="display:none;">
...
</div>
<script type="text/javascript">
$(document).ready(function () {
setTimeout(function () {
document.getElementById("LoadingDiv").style.display = "none";
document.getElementById("LoadedDiv").style.display = "block";
}, 500);
});
</script>