2010-08-02 47 views
1

我試圖在我的網站上模擬MS-DOS命令提示符。我不需要接受擊鍵,但我想在底部追加數據,並可以向上滾動。在ASP.net中製作DOS風格的窗口

起初我看着asp:TextBox和asp:Label,但使用回傳的閃爍似乎太多了。我現在正在考慮DIV標籤和Javascript,我只是更新InnerHTML屬性,但我也得到了閃爍,並有滾動問題。

在這種情況下你會推薦什麼解決方案?本質上,我試圖計數到無窮大,延遲1秒,只需要最新的300條左右的條目,最新的條目在屏幕底部。

這甚至可能與JS/CSS?

+0

什麼/你爲什麼這樣做回發的文字嗎? – lincolnk 2010-08-02 20:36:38

+0

@lincolnk只是試驗回傳。我想要一個復古的感覺,但不知道如何'復古'我想去;) – LamonteCristo 2010-08-02 21:51:14

回答

1

我剛剛用jQuery構建了一些非常類似的東西。您可以使用append method將內容添加到DIV的底部。然後,您可以設置scrollTop的屬性讓事情滾動至底部如下:

$("#someDiv").attr({ scrollTop: $("#someDiv").attr("scrollHeight") }); 
+0

我需要學習scrollTop,謝謝。由於我正在計算到無窮大,我將如何切斷之前很久以前附加的數據?否則,我可能會讓客戶負擔過重。 – LamonteCristo 2010-08-02 21:47:07

+0

什麼是您的數據來源? – Larsenal 2010-08-02 22:07:45

+0

這將是一個ASP Web服務。 – LamonteCristo 2010-08-03 04:01:10

0

我覺得「DOS式窗口」是一個有點誤導考慮所有你想要做的就是文本追加到一個div並確定它保持滾動到底部。

function addLine(text) { 

    var box = document.getElementById('DOSBox') //teehee 

    var line = document.createElement('p'); 
    line.innerHTML = text; 

    box.appendChild(line); 

    box.scrollTop = box.scrollHeight; 

} 

和風格它是這樣

#DOSBox { 
    overflow: auto; 
    display: block; 
    height: 400px; width: 500px; /* or whatever */ 

    /* and if you want it to look DOS-like */ 
    background: #000; 
    color: rgb(192, 192, 192); 
    font-family: fixedsys; 
} 

#DOSBox p { 
    margin: 0; 
}