我有一个很长的页面,里面有很多查询和 ajax。这是缩短的版本:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-lightness/jquery-ui.css" type="text/css" />
<style>
#holder{position:relative;}
#waiting{width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index:200; padding-top:20%; text-align:center; background:rgba(255, 255, 255, 0.5);}
#waiting img {width:200px;}
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
<script type="text/javascript" src="scripts/jquery.json-2.3.min.js"></script>
<script type="text/javascript" src="scripts/scripts.js"></script>
<script type="text/javascript">
function showStep3(){
$('#waiting').show();
// this is where a ton of jquery including ajax goes
runQuery();
$('#waiting').hide();
}
$(function(){
$('#waiting').hide();
});
</script>
</head>
<body>
<div id="holder">
<div id="waiting"><img src="img/waiting.gif"></div>
<div id="criteria">
whole bunch of HTML
</div>
</div>
</body>
</html>
在标记为“这是包含 ajax 的大量 jquery 所在的区域”的区域中,有一些 ajax 调用设置为 async:false (以防产生影响)。
基本上我在加载时隐藏“等待” div,然后当我启动函数 showStep3 时显示它,做一堆东西,然后在所有完成后隐藏它。
这在 Firefox 中按预期工作,但在 chrome 或 IE9 中不起作用。有任何想法吗?