有人可以帮我了解为什么这不起作用吗?在ajax .load正在加载页面时,将显示loading.gif,但是它永远不会消失。这使我相信.ajaxStart和.ajaxStop函数都不会被调用(因为它最初也没有将其隐藏)。

TIA!

CSS:

#loadingDiv {
background-image: url('images/loading.gif');
height: 32px;
width: 32px;
margin: 50px auto 50px auto; }

jQuery的:
<script type="text/javascript">
        $(document).ready(function()
            {
                $('#loadingDiv')
                    .hide()
                    .ajaxStart(function() {
                        $(this).show();
                    })
                    .ajaxStop(function() {
                        $(this).hide();
                    })
                ;
                $("#results").load("i/getAllInfo.class.php"); return false;
            };
    </script>

最佳答案

您不需要从document ready函数返回false,但是您需要像这样添加右括号()

     $("#results").load("i/getAllInfo.class.php"); return false;
 }); //<----- you need the )

您的网址“i/getAllInfo.class.php”看起来不对。

尝试像这样在.ajaxStop()中注释掉$(this).hide():
.ajaxStop(function() {
     //$(this).hide();
})

因为它可能只显示很少的时间,所以您看不到它。

这是为您准备的 fiddle :http://jsfiddle.net/GrsRT/11/

关于jquery - .ajaxStart和.ajaxStop不触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6604991/

10-08 22:41