因此。我在Jquery / Ajax下面和.hide()方法似乎没有隐藏元素loadingdiv
。
<script type="text/javascript">
$(document).ready(function ($) {
//show a progress modal of your choosing
$('#loadingdiv').show();
$.ajax({
url: "@Url.Action("ToDo","Test")",
dataType: 'html',
success: function(data) {
$('#bookListDiv').html(data);
}});
});
$('#loadingdiv').hide();
</script>
答案 0 :(得分:1)
假设你有这样的HTML:
<div id="StaticContent">
...
</div>
<div id="DynamicContent">
<img src="~/Content/Images/ajax-loader.gif" alt="loading..." />
</div>
然后,您可以使用简单的jquery load()调用来实现您想要的效果。
$(function() {
$('#DynamicContent').load("/path/to/api");
});
答案 1 :(得分:-1)
我认为hide()函数看起来不起作用,因为当你认为它没有被调用时。编写脚本标记的方式是在页面就绪函数之前调用hide()函数。更改标记以调用ajax成功回调中的hide()函数。
$.ajax({
url: "@Url.Action("ToDo","Test")",
dataType: 'html',
success: function(data) {
$('#bookListDiv').html(data);
$('#loadingdiv').hide();
}});
但是,如果您遵循其他答案中的建议,则此步骤是不必要的。加载的gif将被返回到ajax调用的内容替换。