页面刷新后不会显示加载图像

时间:2011-02-04 18:22:13

标签: javascript jquery

这是问题;我有一个'加载'图像 - 它只是标准的spinner.gif动画,通常用于表示幕后发生的事情。这是代码:

    $(document).ready(function() {
        var spinner = $('<img />').attr('src', '/media/images/icons/spinner.gif');
        var loadingText = $('<span id="loader">Loading...</span>').prepend(spinner);
        $(loadingText).appendTo('#messages');

[... other jquery code here ...]

完成其他功能后,以下内容将删除加载图像和文本:

        $(loadingText).remove();

问题在于,无论何时单击浏览器中的“刷新”,加载文本都会再次显示,但图像不会显示。只有在关闭选项卡或窗口并重新打开页面时,图像才会正确显示加载文本。我很难过,有什么想法吗? (提前谢谢)

1 个答案:

答案 0 :(得分:1)

在Chrome,Firefox和Opera中似乎对我工作正常(对不起在Mac上,所以没有IE)。你在多个浏览器中尝试过吗?

我正在做:

<html>
<body>
    <div id="messages">

    </div>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    <script type="text/javascript">
    jQuery(document).ready(function($) {
        // use some random spinner from the internet
        var spinner = $('<img />').attr('src', 'http://www.enilivewec.com/img/ajax-loading.gif');
        var loadingText = $('<span id="loader">Loading...</span>').prepend(spinner);

        // add to #messages div block
        $(loadingText).appendTo('#messages');

        // do some animations to delay it a bit then remove it
        $('#messages').slideUp(500).slideDown(1000).fadeOut(500).fadeIn(1000, function () {
            $(loadingText).remove();
        }); 

    })
  </script>
</body>


编辑 OP声明using window load已更正问题,因为它等待所有图片加载后再启动jQuery代码。