FRIHOSTFORUMSFAQTOSBLOGSDIRECTORY
You are invited to Log in or Register a Frihost Account!

Ajax Loader

 


DanielXP
I have made a ajax members page.

I works fine but some times the div with the loading.. does not go up and close.

I am using the following script from Dynamic Drive.

http://dynamicdrive.com/dynamicindex17/animatedcollapse.htm

And here is my show_members.php javascript file.

Code:
<?
session_start();
header("content-type: application/x-javascript");
$url = "http://" . $_SERVER['HTTP_HOST'] . "/";
if($_SESSION['js_show_members_key'] != "Cwr3ujqidkisa"){
die("Javascript Protected.");
}else{

?>

function show_members(page, tot_pages){
var members_div = document.getElementById("members_div");
if(page == "NULL" || page == ""){
lert("<b>Error:</b><br />No page number inputed.")
return
}
members_collapse.slideup()
setTimeout("members_collapse_loader.slidedown()",1000)
var xmlHttp_Members_Page
function GetXmlHttpObject(){
var objXMLHttp=null
if (window.XMLHttpRequest){
objXMLHttp=new XMLHttpRequest()
}else if (window.ActiveXObject){
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}
xmlHttp_Members_Page=GetXmlHttpObject()
if (xmlHttp_Members_Page==null){
alert("Browser does not support HTTP Request")
return
}

for(var i = 1; i <= tot_pages; i++){
if(i == page){
document.getElementById("page_div_id_" + i).innerHTML = "&nbsp;<b>" + i + "</b>";
}else{
document.getElementById("page_div_id_" + i).innerHTML = "&nbsp;<a href=\"javascript:show_members('" + i + "', '" + tot_pages + "')\">" + i + "</a>";
}
}

var url="<? echo $url; ?>modules/show_members.php?page=" + page
xmlHttp_Members_Page.open("GET",url,true)
xmlHttp_Members_Page.onreadystatechange = function () {
if (xmlHttp_Members_Page.readyState == 4) {
if (xmlHttp_Members_Page.status == 200 || xmlHttp_Members_Page.status == 0) {
members_div.innerHTML = xmlHttp_Members_Page.responseText;
members_collapse_loader.slideup()
setTimeout("members_collapse.slidedown();",1000)
}
}
};
xmlHttp_Members_Page.send(null);
}
<?
}
?>


It all works fine but some times the "loading..." div does not close.

This is what makes the div close.

members_collapse_loader.slideup()

It works some times but not all the time.

Don't have a clue why, can you help?
MrBlueSky
Code:

xmlHttp_Members_Page.onreadystatechange = function () {
if (xmlHttp_Members_Page.readyState == 4) {
if (xmlHttp_Members_Page.status == 200 || xmlHttp_Members_Page.status == 0) {
members_div.innerHTML = xmlHttp_Members_Page.responseText;
members_collapse_loader.slideup()
setTimeout("members_collapse.slidedown();",1000)
}
}
};



It looks like if sometimes the xmlHttp doesn't succeed. When the slideup doesn't occur is the response text shown?
DanielXP
The respons shows prop and that goes down, just the loader don't go up all the time
MrBlueSky
And if you increase the timeout in both of the calls to setTimeout("members_collapse.slidedown();",1000) to 5000 or something?
DanielXP
They both disapear when you click on a page number and then both come back once it has loaded.
Reply to topic    Frihost Forum Index -> Scripting -> Html, CSS and Javascript

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2007 Frihost, forums powered by phpBB.