我有一个网页,其中包含一些JavaScript函数,可以在document.ready上加载。
但是,如果我有4个,那么只有最后一个似乎加载。
这是我的代码。
$(document).ready(function ()
{
var nation = "ireland";
var irelandMatches = [];
var matchOrderReversed = false;
loadDoc();
showRSS("Irish Times");
loadWeather();
loadTwitter();
loadDoc()和loadTwitter()方法加载,但天气和showRSS没有。如果我注释掉loadTwitter(),那么天气就好了。
如果它有任何区别,所有这些方法都使用XMLHttpRequest,每个方法都在每个方法中定义,就像这样。
function loadYouTube()
{
var html = "";
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else
{ // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function ()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
var ret = xmlhttp.responseText;
var spl1 = ret.split("~");
for (i = 0; i <= 10; i++)
{
var spl2 = spl1[i].split("*");
var current = "<a href='" + spl2[1] + "'><img src='" + spl2[2] + "' width='50' height='50'>" + "<a href='" + spl2[1] + "'>" + spl2[0] + "</a> <br/>";
html += current;
}
$("#yt").html(html);
}
}
xmlhttp.open("GET", "getyoutube.php?", true);
xmlhttp.send();
}
谢谢你们:)
答案 0 :(得分:3)
在xmlhttp
示例中定义loadYouTube()
时,由于缺少var
,您在全局范围内这样做了。因此loadDoc()
设置了window.xmlhttp
,然后loadWeather()
不久会覆盖它,然后是loadTwitter()
。
在加载函数中尝试这样的事情:
function loadYouTube()
{
var html = "";
// define xmlhttp in block scope
var xmlhttp;
// rest of function...
}