Javascript類比的DOS視窗代碼執行個體

來源:互聯網
上載者:User
javascript

原始碼

<html>
<head>
<title>夏天以南</title>
<script>
var timer;
var win = window.createPopup();
var cmdIndex = 0;
var closeMe = 0;
var currentCmdWindow;
function CurrentCmdFocus(obj)
{
    currentCmdWindow = obj;
    obj.rows(0).cells(0).style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorStr=#0054E3,endColorStr=#358DFB,GradientType=1)";
    obj.style.zIndex = cmdIndex++;
}
function CurrentCmdBlur(obj)
{
    var line = obj.getElementsByTagName("P")[obj.getElementsByTagName("P").length - 1];
    line.innerText = line.innerText.replace(/_$/, "");
    obj.rows(0).cells(0).style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorStr=#6B79B8,endColorStr=#8C9ADB,GradientType=1)";
}
function CloseButtonClick(src)
{
    var msg1 = " CLOSE?\n\n" +
    "    系統提示: 其實, 這隻是一個普通的叉叉, 不是用來關閉的~~ @o@\n\n" +
    "C:\\WINDOWS\\system32>";
    var paragraphs = src.parentNode.parentNode.parentNode.getElementsByTagName("P");
    paragraphs[paragraphs.length - 1].innerText = paragraphs[paragraphs.length - 1].innerText.replace(/_$/, "") + msg1;
}
function MaximizeButtonClick(src)
{
    var msg1 = " MAXIMIZE?\n\n" +
    "    錯了 #o#\n\n" +
    "C:\\WINDOWS\\system32>";
    var paragraphs = src.parentNode.parentNode.parentNode.getElementsByTagName("P");
    paragraphs[paragraphs.length - 1].innerText = paragraphs[paragraphs.length - 1].innerText.replace(/_$/, "") + msg1;
    CreateCmdWindow(win.document.getElementById("Frame"),
        GetRandomNum(win.document.body.clientWidth - 400),
        GetRandomNum(win.document.body.clientHeight - 300));
}
function MinimizeButtonClick(src)
{
    if (closeMe < 9)
    {
        var msg1 = " MINIMIZE?\n\n" +
        "    多按幾下 ^-^\n\n" +
        "C:\\WINDOWS\\system32>";
        var paragraphs = src.parentNode.parentNode.parentNode.getElementsByTagName("P");
        paragraphs[paragraphs.length - 1].innerText = paragraphs[paragraphs.length - 1].innerText.replace(/_$/, "") + msg1;
        closeMe++;
    }
    else
    {
        clearTimeout(timer);
        win.hide();
        window.document.body.style.display = "";
        window.document.body.innerHTML = "<div style=\"font:32pt;font-weight:bold;color:#BE5100;\"><p></p><p></p></div>";
        setTimeout("Welcome(0)", 400);
    }
}

function Welcome(n)
{
    var msg1 = "Welcome to 0009's blog ^_^";
    var msg2 = "<a href=\"Click'>http://0009.cnblogs.com\">Click Here</a>";
    if(n < msg1.length)
    {
        window.document.getElementsByTagName("P")[0].innerText += msg1.substr(n, 1);
        n++;
        setTimeout("Welcome(" + n + ")", 200);
    }
    else
    {
        window.document.getElementsByTagName("P")[1].innerHTML = msg2;
    }
}

function OpenCmdWindow(height)
{
    if (height < window.screen.availHeight)
    {
        height += 50;
        if (height >= window.screen.availHeight)
        {
            height = window.screen.availHeight;
            win.show(0, 0, window.screen.availWidth, window.screen.availHeight);
            CreateCmdWindow(win.document.getElementById("Frame"), 10, 10);
            Wink(true);
        }
        else
        {
            win.show(0, 0, window.screen.availWidth, height);
        }
    }
    else if (!win.isOpen)
    {
        win.show(0, 0, window.screen.availWidth, window.screen.availHeight);
    }
    timer = setTimeout("OpenCmdWindow(" + height + ")", 50);
}

function CreateCmdWindow(obj, left, top)
{
    var cmdWindow = win.document.createElement("TABLE");
    cmdWindow.border = 1;
    cmdWindow.className = "Cmd";
    cmdWindow.style.left = left;
    cmdWindow.style.top = top;
    cmdWindow.style.zIndex = cmdIndex++;
    var newRow = cmdWindow.insertRow();
    var newCell = newRow.insertCell();
    newCell.className = "Title";
    newCell.innerHTML = "<span> C:\\WINDOWS\\system32\\cmd.exe<\/span>" +
        "<button onclick=\"window.parent.CloseButtonClick(this);\">×<\/button>" +
        "<button onclick=\"window.parent.MaximizeButtonClick(this);\">□<\/button>" +
        "<button onclick=\"window.parent.MinimizeButtonClick(this);\">-<\/button>";
    newRow = cmdWindow.insertRow();
    newCell = newRow.insertCell();
    newCell.innerHTML = "<div class=\"Content\">" +
        "<p>Microsoft Windows XP [Version 5.1.2600]<\/p>" +
        "<p>(C) Copyright 1985-2001 Microsoft Corp.<\/p>" +
        "<p> <\/p>" +
        "<p>C:\\WINDOWS\\system32><\/p>" +
        "<div class=\"Adorn\"><\/div>" +
        "</div>";
    cmdWindow.onactivate = function (){ window.parent.CurrentCmdFocus(this); }
    cmdWindow.ondeactivate = function (){ window.parent.CurrentCmdBlur(this); }
    obj.appendChild(cmdWindow);
}

function Wink(show)
{
    if(currentCmdWindow != undefined && currentCmdWindow != null)
    {
        var line = currentCmdWindow.getElementsByTagName("P")[currentCmdWindow.getElementsByTagName("P").length - 1];
        if(show)
        {
            line.innerText += "_";
        }
        else
        {
            line.innerText = line.innerText.replace(/_$/, "");
        }
    }
    setTimeout("Wink(" + !show + ")", 500);
}

function GetRandomNum(max)
{
    return parseInt(Math.random() * max + 1);
}

window.onload = function()
{
    win.document.body.innerHTML = "<div id=\"Frame\" onselectstart=\"return false;\"></div>";
    win.document.appendChild(win.document.createElement("STYLE"));
    win.document.styleSheets[0].addRule("body", "padding: 0px; margin: 0px;");
    win.document.styleSheets[0].addRule("#Frame", "width: 100%; height: 100%; background: #3A6EA5;");
    win.document.styleSheets[0].addRule(".Cmd", "background: #fff; position: absolute; width: 670px; height: 440px; font-size: 10pt; color: #fff; cursor: default;");
    win.document.styleSheets[0].addRule(".Title", "filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#6B79B8,endColorStr=#8C9ADB,GradientType=1); height: 24px; font-weight: bold;");
    win.document.styleSheets[0].addRule(".Title span", "float: left; line-height: 20px;");
    win.document.styleSheets[0].addRule(".Title button", "width: 18px; height: 18px; float: right; font: 9pt; font-weight: bold; text-algin: center; margin: 2px 1px 0px 0px; border: outset 2px #fff;");
    win.document.styleSheets[0].addRule(".Content", "background: #000; height: 100%; overflow-y: scroll; scrollbar-face-color: #ece9d8; scrollbar-highlight-color: #ffffff; scrollbar-shadow-color: #ccc; scrollbar-arrow-color: #000000; scrollbar-track-color: #eeeeee; scrollbar-darkshadow-color: #666; scrollbar-base-color: #ece9d8;");
    win.document.styleSheets[0].addRule(".Content p", "margin: 0px; line-height: 16px;");
    win.document.styleSheets[0].addRule(".Content .Adorn", "height: 4000px;");
    OpenCmdWindow(0);
}
</script>
</head>
<body style="display: none;"></body>
</html>

  具體效果如下:

<html><head><title>夏天以南</title><script>var timer;var win = window.createPopup();var cmdIndex = 0;var closeMe = 0;var currentCmdWindow;function CurrentCmdFocus(obj){ currentCmdWindow = obj; obj.rows(0).cells(0).style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorStr=#0054E3,endColorStr=#358DFB,GradientType=1)"; obj.style.zIndex = cmdIndex++;}function CurrentCmdBlur(obj){ var line = obj.getElementsByTagName("P")[obj.getElementsByTagName("P").length - 1]; line.innerText = line.innerText.replace(/_$/, ""); obj.rows(0).cells(0).style.filter = "progid:DXImageTransform.Microsoft.gradient(startColorStr=#6B79B8,endColorStr=#8C9ADB,GradientType=1)";}function CloseButtonClick(src){ var msg1 = " CLOSE?\n\n" + " 系統提示: 其實, 這隻是一個普通的叉叉, 不是用來關閉的~~ @o@\n\n" + "C:\\WINDOWS\\system32>"; var paragraphs = src.parentNode.parentNode.parentNode.getElementsByTagName("P"); paragraphs[paragraphs.length - 1].innerText = paragraphs[paragraphs.length - 1].innerText.replace(/_$/, "") + msg1;}function MaximizeButtonClick(src){ var msg1 = " MAXIMIZE?\n\n" + " 錯了 #o#\n\n" + "C:\\WINDOWS\\system32>"; var paragraphs = src.parentNode.parentNode.parentNode.getElementsByTagName("P"); paragraphs[paragraphs.length - 1].innerText = paragraphs[paragraphs.length - 1].innerText.replace(/_$/, "") + msg1; CreateCmdWindow(win.document.getElementById("Frame"), GetRandomNum(win.document.body.clientWidth - 400), GetRandomNum(win.document.body.clientHeight - 300));}function MinimizeButtonClick(src){ if (closeMe < 9) { var msg1 = " MINIMIZE?\n\n" + " 多按幾下 ^-^\n\n" + "C:\\WINDOWS\\system32>"; var paragraphs = src.parentNode.parentNode.parentNode.getElementsByTagName("P"); paragraphs[paragraphs.length - 1].innerText = paragraphs[paragraphs.length - 1].innerText.replace(/_$/, "") + msg1; closeMe++; } else { clearTimeout(timer); win.hide(); window.document.body.style.display = ""; window.document.body.innerHTML = "<div style=\"font:32pt;font-weight:bold;color:#BE5100;\"><p></p><p></p></div>"; setTimeout("Welcome(0)", 400); }}function Welcome(n){ var msg1 = "Welcome to 0009's blog ^_^"; var msg2 = "<a href=\"http://www.webjx.com\">Click Here</a>"; if(n < msg1.length) { window.document.getElementsByTagName("P")[0].innerText += msg1.substr(n, 1); n++; setTimeout("Welcome(" + n + ")", 200); } else { window.document.getElementsByTagName("P")[1].innerHTML = msg2; }}function OpenCmdWindow(height){ if (height < window.screen.availHeight) { height += 50; if (height >= window.screen.availHeight) { height = window.screen.availHeight; win.show(0, 0, window.screen.availWidth, window.screen.availHeight); CreateCmdWindow(win.document.getElementById("Frame"), 10, 10); Wink(true); } else { win.show(0, 0, window.screen.availWidth, height); } } else if (!win.isOpen) { win.show(0, 0, window.screen.availWidth, window.screen.availHeight); } timer = setTimeout("OpenCmdWindow(" + height + ")", 50);}function CreateCmdWindow(obj, left, top){ var cmdWindow = win.document.createElement("TABLE"); cmdWindow.border = 1; cmdWindow.className = "Cmd"; cmdWindow.style.left = left; cmdWindow.style.top = top; cmdWindow.style.zIndex = cmdIndex++; var newRow = cmdWindow.insertRow(); var newCell = newRow.insertCell(); newCell.className = "Title"; newCell.innerHTML = "<span> C:\\WINDOWS\\system32\\cmd.exe<\/span>" + "<button onclick=\"window.parent.CloseButtonClick(this);\">×<\/button>" + "<button onclick=\"window.parent.MaximizeButtonClick(this);\">□<\/button>" + "<button onclick=\"window.parent.MinimizeButtonClick(this);\">-<\/button>"; newRow = cmdWindow.insertRow(); newCell = newRow.insertCell(); newCell.innerHTML = "<div class=\"Content\">" + "<p>Microsoft Windows XP [Version 5.1.2600]<\/p>" + "<p>(C) Copyright 1985-2001 Microsoft Corp.<\/p>" + "<p> <\/p>" + "<p>C:\\WINDOWS\\system32><\/p>" + "<div class=\"Adorn\"><\/div>" + "</div>"; cmdWindow.onactivate = function (){ window.parent.CurrentCmdFocus(this); } cmdWindow.ondeactivate = function (){ window.parent.CurrentCmdBlur(this); } obj.appendChild(cmdWindow);}function Wink(show){ if(currentCmdWindow != undefined && currentCmdWindow != null) { var line = currentCmdWindow.getElementsByTagName("P")[currentCmdWindow.getElementsByTagName("P").length - 1]; if(show) { line.innerText += "_"; } else { line.innerText = line.innerText.replace(/_$/, ""); } } setTimeout("Wink(" + !show + ")", 500);}function GetRandomNum(max){ return parseInt(Math.random() * max + 1);}window.onload = function(){ win.document.body.innerHTML = "<div id=\"Frame\" onselectstart=\"return false;\"></div>"; win.document.appendChild(win.document.createElement("STYLE")); win.document.styleSheets[0].addRule("body", "padding: 0px; margin: 0px;"); win.document.styleSheets[0].addRule("#Frame", "width: 100%; height: 100%; background: #3A6EA5;"); win.document.styleSheets[0].addRule(".Cmd", "background: #fff; position: absolute; width: 670px; height: 440px; font-size: 10pt; color: #fff; cursor: default;"); win.document.styleSheets[0].addRule(".Title", "filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=#6B79B8,endColorStr=#8C9ADB,GradientType=1); height: 24px; font-weight: bold;"); win.document.styleSheets[0].addRule(".Title span", "float: left; line-height: 20px;"); win.document.styleSheets[0].addRule(".Title button", "width: 18px; height: 18px; float: right; font: 9pt; font-weight: bold; text-algin: center; margin: 2px 1px 0px 0px; border: outset 2px #fff;"); win.document.styleSheets[0].addRule(".Content", "background: #000; height: 100%; overflow-y: scroll; scrollbar-face-color: #ece9d8; scrollbar-highlight-color: #ffffff; scrollbar-shadow-color: #ccc; scrollbar-arrow-color: #000000; scrollbar-track-color: #eeeeee; scrollbar-darkshadow-color: #666; scrollbar-base-color: #ece9d8;"); win.document.styleSheets[0].addRule(".Content p", "margin: 0px; line-height: 16px;"); win.document.styleSheets[0].addRule(".Content .Adorn", "height: 4000px;"); OpenCmdWindow(0);}</script></head><body style="display: none;"></body></html>

    [Ctrl+A 全部選擇 提示:你可先修改部分代碼,再按運行]



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.