此脚本每秒都会使用AJAX打开一个页面,并将内容返回到此页面上的新div中,它将动态创建。但不幸的是,他们互相攻击。我想在顶部创建每个新的div。我真的不想使用jquery或类似的东西。
对此有任何帮助非常感谢,我对JS不太自信,所以如果不明白为什么,请你给我一个小解释。 :)谢谢
function timedCount()
{
min = Math.floor(s/60);
sec = s-(min*60);
if(sec < 10) { sec = '0'+sec; }
if(min >= 60) { min = min-15; }
if(quit == 0) { document.getElementById('mTime').innerHTML = min+':'+sec; }
s=s+1;
var ajaxRequest;
try { ajaxRequest = new XMLHttpRequest(); } catch (e){
try{ ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
try{ ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e){
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function()
{
if(ajaxRequest.readyState == 4 && ajaxRequest.responseText != '')
{
if(ajaxRequest.responseText == 'HT') {
document.getElementById('mTime').innerHTML = 'Half Time';
t=setTimeout("timedCount()",(3600-s)*1000);
quit=1;
return;
}
if(ajaxRequest.responseText == 'FT') {
document.getElementById('mTime').innerHTML = 'Full Time';
quit=1;
return;
}
el = document.createElement('rep'+i);
el.innerHTML = ajaxRequest.responseText +'<br>';
document.getElementById('container').appendChild(el);
i=i+1;
}
}
ajaxRequest.open("GET", "getMatch.php", true);
ajaxRequest.send(null);
}
答案 0 :(得分:4)
您是否尝试过使用insertBefore
?
您可以更改该行:
document.getElementById('container').appendChild(el);
通过
var container = document.getElementById('container');
container.insertBefore(el, container.firstChild);
container.firstChild
将为您提供容器中第一个元素的引用,并将el
放在其前面。
答案 1 :(得分:3)
您需要insertBefore功能
var parent = document.getElementById('container');
parent.insertBefore(el, parent.firstChild);
请注意,如果parent为空,并且parent.firstChild因此为null,则el将插入parent的末尾,这是您想要的。
答案 2 :(得分:1)
appendChild方法总是在集合的 end 处添加新节点,这就是它出现在底部的原因 - 请参阅http://msdn.microsoft.com/en-us/library/ms535934(v=VS.85).aspx
使用此处记录的insertBefore方法:http://msdn.microsoft.com/en-us/library/ms535934(v=VS.85).aspx。您可以使用document.getElementById('container')。firstChild作为第二个参数
答案 3 :(得分:0)
通常如果我真的想把div放在所有其他元素之上,我会使用css位置和z-index,如:
div{
position: absolute;
z-index: 9999;
}
:)