2013-08-23 68 views
0

我有本地AJAX函數來加載圖像。本機AJAX成功加載後如何加載Jquery函數?如何在AJAX加載後運行jquery函數

這裏是我的AJAX:

function loadImage() { 
    var xmlhttp; 

    if(window.XMLHttpRequest) { 
     xmlhttp = new XMLHttpRequest(); 
    } 
    else { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange = function() { 
     if(xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("imageLoco").innerHTML = xmlhttp.responseText; 
      document.getElementsByClassName("media-pv").style.height = document.getElementsByClassName("media-pv").clientWidth; 
     } else { 
      document.getElementById("imageLoco").innerHTML = "<img src='images/loader.gif' />"; 
     } 
    } 

    var url = "get_media.php"; 

    xmlhttp.open("GET",url,true); 
    xmlhttp.send(); 
} 

這裏是jQuery的功能,我想加載:

$('.media-pv').css({      
    height : $('.media-pv').width() 
}); 

我把我的AJAX $(document).ready(function(){ ... })後,和jQuery不會改變.media-pv類的高度。如何處理?

謝謝..

+2

爲什麼混合本地JavaScript和jQuery ...使用'jQuery.ajax()' –

+0

嘗試這一行document.getElementsByClassName( 「媒體PV」)... // jQuery代碼編碼後的jQuery代碼這裏 –

+0

它有同樣的結果,我已經嘗試使用JQuery的AJAX像這樣[鏈接](http://jsfiddle.net/fanjavaid/jMeEg/) – fanjavaid

回答

0

試試這段代碼。未經測試,但應該是工作。

function loadImage() { 
    var xmlhttp; 

    if(window.XMLHttpRequest) { 
     xmlhttp = new XMLHttpRequest(); 
    } 
    else { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange = function() { 
     if(xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.getElementById("imageLoco").innerHTML = xmlhttp.responseText; 
      //document.getElementsByClassName("media-pv").style.height = document.getElementsByClassName("media-pv").clientWidth; 
      //[updated code] 
      changeHeight(); 
     } else { 
      document.getElementById("imageLoco").innerHTML = "<img src='images/loader.gif' />"; 
     } 
    } 

    var url = "get_media.php"; 

    xmlhttp.open("GET",url,true); 
    xmlhttp.send(); 
} 

function changeHeight(){ 

    if(domReady == true){ 
     $('.media-pv').css({      
      height : $('.media-pv').width() 
     }); 

     if(tempInterval){ 
      clearInterval(tempInterval);  
     }   

    }else{ 
     tempInterval = setInterval(changeHeight,100);  
    } 


} 

var domReady = false; 
var tempInterval; 
$(document).ready(function(){ 
    domReady = true; 
}); 
相關問題