Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
690 views
in Technique[技术] by (71.8m points)

ajax - How to call jquery ajaxStart + ajaxComplete

I have a load function and would like for the code to write some html into a div while it loads, and when it completes, to display the page. I saw some little write-ups on the ajaxStart and ajaxComplete events, however I am not sure how to implement them.

Here is the jQuery I am thinking of using, however not sure how to implement within the code I have currently…

$(document).ajaxStart(function(){ 
    $('#content').html("Loading Content...");
});

Here is the current jQuery I am using:

//Load content
$(".load").click(function(){
    $("#content").empty();           
    loadName = $(this).attr("id");
    $("#content").load("/content/" + loadName + ".php");
});
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

If it's a single div and you would like to update its contents with a loading message/indicator, you can do so like this:

$("#content").html('<strong>Loading...</strong>')
             .load("/content/" + loadName + ".php");

I wouldn't use the ajaxStart and ajaxStop/ajaxComplete global events unless you have a common loading indicator for all ajax calls. That said, it can be done as follows:

$("#loading").bind("ajaxStart", function(){
    $(this).show();
}).bind("ajaxStop", function(){
    $(this).hide();
});

where the loading element is whatever you want to reveal during an ajax call.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...