2011-12-04 11 views
0

毎秒このスクリプトはAJAXを使用してページを開き、そのページを新しいdivに内容を戻します。しかし、残念なことに、彼らはお互いの下に行く。そして、新しいdivをそれぞれ上に作成したいと思います。私は本当にjqueryまたはそれに類するものを使用したくありません。Divをオンザフライで作成する

私は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); 
} 
+1

は、あなたが 'エル=のdocument.createElement( '担当者' + i)をしてもよろしいですか;'?これにより、 ''のような要素が作成されます。私はあなたが 'el = document.createElement( 'div')が必要だと思います。 el.id = rep + i; 'または何か。 – RightSaidFred

+0

ああええ!ありがとう:D – DugoutSoccer

答えて

3

あなたは親が空で、そしてparent.firstChildしたがってnullの場合は、エルがある、親の最後に挿入されることを

var parent = document.getElementById('container'); 
parent.insertBefore(el, parent.firstChild); 

insertBefore機能が欲しいですあなたが欲しいもの。

4

insertBeforeを試しましたか?あなたは、コンテナ内の最初の要素への参照を与える

var container = document.getElementById('container'); 
container.insertBefore(el, container.firstChild); 

container.firstChildによって

document.getElementById('container').appendChild(el); 

と、その前にelを置く:

あなたが行を変更することができます。

1

appendChildメソッドは、常にそれがbotttomに表示される理由は、コレクションの最後に新しいノードを追加する - ここでは説明のinsertBeforeメソッドを使用しhttp://msdn.microsoft.com/en-us/library/ms535934(v=VS.85).aspx

を参照してください:http://msdn.microsoft.com/en-us/library/ms535934(v=VS.85).aspxを。あなたはのdocument.getElementById(「コンテナ」)を使用することができるのfirstChild第二引数通常

+1

コードコメントの不足のためにお詫び申し上げます。私は彼らが完全に正しいので、他の解決策をupvotedしました。タブレットで入力すると、魅力的で時間がかかります! – dash

0

として、私は本当に私は次のようにCSSの位置とzインデックスを使用行う他のすべての要素の上にdiv要素を入れたい場合は:。

div{ 
position: absolute; 
z-index: 9999; 
} 

:)

関連する問題