加载微调器gif图像卡住了

时间:2011-09-16 06:22:14

标签: jquery performance image javascript-events animated-gif

我有一个6kb动画gif加载微调器。当我在浏览器窗口中打开它时,旋转很好。但是当它在我的网页上的ajax调用打开时,它就会卡住。它准时出现,并且准时消失,但不会旋转。

有什么想法吗?

这是jquery代码:

        $('#please-wait')
        .css("visibility", "visible")//.hide()
        .ajaxStart(function() {
            $(this).css("visibility", "visible");
        })
        .ajaxStop(function() {
            $(this).css("visibility", "hidden");
        });

        $('#please-wait')
        .show()
        .ajaxStart(function() {
            $(this).show();            
        })
        .ajaxStop(function() {
            $(this).hide();
        });

任何想法?

1 个答案:

答案 0 :(得分:7)

以下是应该或可以完成的jsfiddle example

这是一个片段

$('#start_loading').click(function(){
    $('#display').html('<img src="http://thinkfuture.com/wp-content/uploads/2013/10/loading_spinner.gif" />');
    setTimeout(function(){
        $('#display').html($('#content').html());
    }, 1000);
});

$('#reset').click(function(){
    $('#display').html('');
});
body{
  background-color: white;
}

#content{
    display:none;
}

#display{
    margin-top: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-1.6.3.min.js" type="text/javascript"></script>  
<button id='start_loading'>Load text</button>
<button id='reset'>Reset</button>

<div id='display'>
</div>

<div id='content'>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin risus ipsum, hendrerit vitae facilisis sit amet, viverra sit amet elit. Nullam interdum sodales tortor quis suscipit. Donec facilisis condimentum sodales. Nunc imperdiet vehicula aliquam. Etiam non ligula enim, non euismod dui. Aliquam in fermentum neque. Praesent auctor lectus eu magna gravida convallis. Donec semper hendrerit porta. In feugiat tellus a purus vulputate adipiscing. Aenean et risus nec nisl auctor scelerisque. Duis eleifend nunc ut odio consectetur scelerisque.</p><br/>

    <p>Aliquam in scelerisque erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aenean dignissim orci at quam placerat a placerat sem porta. Nulla facilisi. Ut ligula lorem, faucibus sit amet eleifend id, fringilla ut orci. Aliquam viverra, enim a auctor tincidunt, neque dui sollicitudin enim, eget feugiat odio lacus cursus lacus. Nunc risus urna, elementum eu vehicula in, fringilla et ante. Aenean iaculis volutpat purus, vitae faucibus justo auctor at. Integer non fringilla nibh.</p><br/>

<p>Quisque elementum, sapien in viverra mollis, magna nisl blandit tortor, ut tincidunt risus nulla id nunc. Fusce rutrum elementum mauris, id aliquam magna varius sed. Ut vestibulum elementum sapien et sagittis. Vestibulum vitae sem arcu. Nulla lacus dui, lacinia vitae dapibus ac, tincidunt vel lectus. In hac habitasse platea dictumst. Curabitur interdum ullamcorper odio, ullamcorper mollis ligula auctor eget. Donec aliquet arcu sed est dignissim pharetra. Praesent sit amet dui venenatis nisl ullamcorper convallis. Morbi rutrum neque id dui venenatis et bibendum felis placerat. </p>
</div>

如果你正在使用JQuery的正确部分,那么你的.gif没有重复周期的可能性,这意味着它只能动画一次。由于您只隐藏它而不是添加/删除,因此它不会重置动画。