2016-03-11 29 views
0

所以我試圖做這個事情,當你按下按鈕時,它會添加一行文本到可滾動div。但是,每次我按下按鈕時,新的段落出現在最後一個下面,當我想讓它出現在以上時,最後一個是。 我已經得到了下來至今:如何在javascript中創建html標籤之上的其他人?

function addToLog(user, action) { 
 
    // Setting up local variables 
 
    var newEntry = document.createElement("p"); 
 
    var entryText; 
 
    var battleLog = document.getElementById("log"); 
 

 
    // Applying style 
 
    newEntry.style.color = "black"; 
 
    newEntry.style.margin = 0; 
 

 
    // Checking possible inputs 
 
    if (user === 'player' && action === 'attack') { 
 
    entryText = document.createTextNode("Player attacked the enemy for some damage!"); 
 
    } else { 
 
    entryText = document.createTextNode("Error"); 
 
    } 
 

 
    // Placing text into log 
 
    newEntry.appendChild(entryText); 
 
    battleLog.appendChild(newEntry); 
 
};
#log { 
 
    background-color: lightgray; 
 
    height: 300px; 
 
    width: 900px; 
 
    overflow-y: scroll; 
 
} 
 
#attack:hover { 
 
    color: red; 
 
} 
 
.button { 
 
    border: 2px solid white; 
 
    background-color: gray; 
 
    height: 16px; 
 
    width: 75px; 
 
    text-align: center; 
 
    display: inline-block; 
 
} 
 
.button:hover { 
 
    color: black; 
 
    font-weight: bold; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
</head> 
 

 
<body> 
 
    <div id="attack" ; class="button" onClick="addToLog('player','attack')">Attack</div> 
 
    <!-- Displaying action log --> 
 
    <div id="log"></div> 
 
    <!-- Starting game script --> 
 
    <script type="text/javascript" ; src="gameScript.js"></script> 
 
</body> 
 

 
</html>

我結束了我的當前項目的複製粘貼部分納入在這裏,所以它可能會顯得凌亂。如您所見,當您單擊攻擊按鈕時,文本會出現在操作日誌中。但是,每當有新段落出現在操作日誌的最底部時,我都希望它出現在頂部。有什麼方法可以將每一個新的段落放在最上面? 對不起,如果我在這裏失去了一些東西,我已經試着在我自己問這個問題之前搜索一切。提前致謝!

+0

http://callmenick.com/post/prepend-child-javascript看看這個 –

回答

0

嘗試使用的insertBefore()代替appendChild()

+0

你能澄清一下嗎?我應該把insertBefore()放在哪裏? –

+0

沒關係,想通了。謝謝。 –

相關問題