2011-08-25 50 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

奇怪的是没有工作 - 我把那个身体 - 我应该把它放在别的地方吗? –

相关问题