最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - JQuery - How to show a spinner while loading content in a div? - Stack Overflow

programmeradmin1浏览0评论

I have a navigation bar with some links inside it. When clicking any link it loads a content from a corresponding html page in a div found beside the navigation bar. Since loading the content could take a couple of seconds i am trying to show a spinner while the content is loaded. Here is a sample code i have tried:

$( '.nav_link' ).click( function( e ) {
    $( '.div_content' ).html('');

    var link = $(this);
    setTimeout(function() {
        $( ".div_content" ).load( link.attr( 'ref' ) );
    }, 1000);

    $( '.spinner' ).show();  // show Loading Div

    setTimeout(function() {
        $( '.spinner' ).hide(); // hide loading div
    },1500);
});

The above code shows the spinner and it starts spinning, then it stops and freezes till the content is loaded. The spinner then disappears and the content appears just fine. Instead of this freezing spinner i need to make it keep spinning till the content is fully loaded.

Here is a full code example in plnkr

Any suggestions?

I have a navigation bar with some links inside it. When clicking any link it loads a content from a corresponding html page in a div found beside the navigation bar. Since loading the content could take a couple of seconds i am trying to show a spinner while the content is loaded. Here is a sample code i have tried:

$( '.nav_link' ).click( function( e ) {
    $( '.div_content' ).html('');

    var link = $(this);
    setTimeout(function() {
        $( ".div_content" ).load( link.attr( 'ref' ) );
    }, 1000);

    $( '.spinner' ).show();  // show Loading Div

    setTimeout(function() {
        $( '.spinner' ).hide(); // hide loading div
    },1500);
});

The above code shows the spinner and it starts spinning, then it stops and freezes till the content is loaded. The spinner then disappears and the content appears just fine. Instead of this freezing spinner i need to make it keep spinning till the content is fully loaded.

Here is a full code example in plnkr

Any suggestions?

Share Improve this question edited Jul 18, 2016 at 12:22 Brad asked Jul 17, 2016 at 22:14 BradBrad 4,55710 gold badges59 silver badges93 bronze badges 3
  • the most likely explanation is that there is an error in your load function....check the console! – David Commented Jul 17, 2016 at 22:19
  • "but the content does not appear" Try substituting .attr( 'href' ) for .attr( 'ref' ) – guest271314 Commented Jul 17, 2016 at 22:20
  • Can you include html at Question? – guest271314 Commented Jul 17, 2016 at 22:33
Add a ment  | 

1 Answer 1

Reset to default 2

I have finally found an interesting solution to my question. Using a GIF spinner image will freeze while loading the html content in the div, so instead i have used a css created spinner which has worked smoothly without freezing. It can be created as explained here.

发布评论

评论列表(0)

  1. 暂无评论