为什么Jquery .hide()不隐藏元素div?

时间:2017-02-10 19:41:53

标签: jquery ajax asp.net-mvc

因此。我在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>

2 个答案:

答案 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调用的内容替换。

相关问题