zoukankan      html  css  js  c++  java
  • [转载]Javascript模拟的DOS窗口, 五一快乐 :)

    <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://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(
    00, window.screen.availWidth, window.screen.availHeight);
                CreateCmdWindow(win.document.getElementById(
    "Frame"), 1010);
                Wink(
    true);
            }

            
    else
            
    {
                win.show(
    00, window.screen.availWidth, height);
            }

        }

        
    else if (!win.isOpen)
        
    {
            win.show(
    00, 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>&nbsp;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>&nbsp;<\/p>" +
            
    "<p>C:\\WINDOWS\\system32&gt;<\/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"" 100%; height: 100%; background: #3A6EA5;");
        win.document.styleSheets[
    0].addRule(".Cmd""background: #fff; position: absolute;  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"" 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>
  • 相关阅读:
    本周学习进度条2
    web—图表表示数据库中的数据
    Intern Day36
    计算机网络
    面试
    C++
    计算机网络
    腾讯PC客户端开发暑期实习一面
    TCP和UDP
    Intern Day34
  • 原文地址:https://www.cnblogs.com/puke/p/819534.html
Copyright © 2011-2022 走看看