2011-08-25 8 views
0

嘿傢伙我想知道爲什麼我在這個文件中的最後一個腳本不工作 - 它假設從JSON拉出的值並將其與一個設定值。謝謝各位的幫助!我的JavaScript的第二部分沒有執行後呈現一些JSON

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script type="text/javascript"> 
$(function() { 

var url = "https://graph.facebook.com/tenniswarehouse?callback=?"; 


$.getJSON(url,function(json){ 
    var html = "<div id=\"tester\">" + json.likes + "</div>"; 
    //A little animation once fetched 
    $('.facebookfeed').html(html); 

}); 
}); 
</script> 
</head> 
    <body onload="timeMsg()"> 
    <div class="facebookfeed"> 
    <h2></h2> 
    </div> 
    <script type="text/javascript"> 
    var x =document.getElementById("tester").innerHTML; 
    if (x < 56700) { 
    document.write("worked") 
    } 
else { 
document.write("didn't work") 
} 
</script> 
</body> 
</html> 

回答

2

你需要這是一個功能,如:

function myFunc() { 
    var x =document.getElementById("tester").innerHTML; 
    if (x < 56700) { 
    document.write("worked") 
    } 
    else { 
    document.write("didn't work") 
    } 
} 

然後調用它像這樣:之前測試儀被添加到

$.getJSON(url,function(json){ 
    var html = "<div id=\"tester\">" + json.likes + "</div>"; 
    //A little animation once fetched 
    $('.facebookfeed').html(html); 

    myFunc(); 
    }); 

因爲您要執行的代碼DOM。

+0

那不適合我 - 任何建議? –

+0

嘗試 Joe

+0

我做了什麼,它沒有提供任何東西 - 它對你有用嗎? –

1

您的頭部功能在頁面加載時執行。但是,頁面呈現時(頁面加載前)會執行正文中的JavaScript代碼,因此在AJAX請求之前執行的代碼爲

要解決這個問題,您應該將腳本從正文移至json處理程序。像這樣:

$(function() { 

    var url = "https://graph.facebook.com/tenniswarehouse?callback=?"; 

    $.getJSON(url,function(json){ 
     var html = "<div id=\"tester\">" + json.likes + "</div>"; 
     //A little animation once fetched 
     $('.facebookfeed').html(html); 
     var x =document.getElementById("tester").innerHTML; 
     if (x < 56700) { 
      document.write("worked") 
     } else { 
      document.write("didn't work") 
     }  
    }); 
}); 
+0

奇怪的是沒有工作 - 我把那個身體 - 我應該把它放在別的地方嗎? –

相關問題