Home > DeveloperSection > Forums > Changing ajax to fade in and out
Simons Hood
Simons Hood

Total Post:70

Points:494
Posted on    August-19-2013 7:43 AM

 ASP.Net ASP.Net 
Ratings:


 1 Reply(s)
 1021  View(s)
Rate this:
Hi!

I am using javascript and ajax to load in my content onto my div which is all working OK. But at the moment it's kind of static and a bit ugly. 

I am trying to get it to fade in and out so when a new tab is clicked the previous one will fade out then the new one will fade in. 

I have found the syntax to use is $(selector).fadeIn(speed,callback) but I can't figure out where to add this as everywhere I have read says add it after your click function but my code doesn't have that. 

    var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)

    var loadedobjects=""

    var rootdomain="http://"+window.location.hostname

    var bustcacheparameter="" 

    function ajaxpage(url, containerid){

    var page_request = false

    document.getElementById(containerid).style.display = 'none';

    if (window.XMLHttpRequest) // if Mozilla, Safari etc

    page_request = new XMLHttpRequest()

    else if (window.ActiveXObject){ // if IE

    try {

    page_request = new ActiveXObject("Msxml2.XMLHTTP")

    }

    catch (e){

    try{

    page_request = new ActiveXObject("Microsoft.XMLHTTP")

    }

    catch (e){}

    }

    }

    else

    return false

    page_request.onreadystatechange=function(){

    loadpage(page_request, containerid)

    }

    if (bustcachevar) //if bust caching of external page

    bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()

    page_request.open('GET', url+bustcacheparameter, true)

    page_request.send(null)

    }

    function loadpage(page_request, containerid){

        if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) {

            document.getElementById(containerid).innerHTML=page_request.responseText;

            document.getElementById(containerid).style.display = 'block';

        }

    } 

    function loadobjs(){

    if (!document.getElementById)

    return

    for (i=0; i<arguments.length; i++){

    var file=arguments[i]

    var fileref=""

    if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding

    if (file.indexOf(".js")!=-1){ //If object is a js file

    fileref=document.createElement('script')

    fileref.setAttribute("type","text/javascript");

    fileref.setAttribute("src", file);

    }

    else if (file.indexOf(".css")!=-1){ //If object is a css file

    fileref=document.createElement("link")

    fileref.setAttribute("rel", "stylesheet");

    fileref.setAttribute("type", "text/css");

    fileref.setAttribute("href", file);

    }

    }

    if (fileref!=""){

    document.getElementsByTagName("head").item(0).appendChild(fileref)

    loadedobjects+=file+" " //Remember this object as being already added to page

    }

    }

    }

thanks in advance!



shreesh chandra shukla
shreesh chandra shukla

Total Post:105

Points:735
Posted on    August-19-2013 8:08 AM

Hi!

I would use JQuery to simply your AJAX code. It also has native functionality for doing fade in and out.

Here's an example

function ajaxpage(url, containerid){

   $.get(url, function(response) {

      $('#'+containerid).fadeOut('slow', function() {

         $('#'+containerid).html($.trim(response));

         $('#'+containerid).fadeIn('slow');

      });

   });

}


Don't want to miss updates? Please click the below button!

Follow MindStick