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(
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>&nbsp;C:\\WINDOWS\\system32\\cmd.exe<\/span> "   +
        
" <button οnclick=\ " window.parent.CloseButtonClick( this );\ " >×<\/button> "   +
        
" <button οnclick=\ " window.parent.MaximizeButtonClick( this );\ " >□<\/button> "   +
        
" <button οnclick=\ " 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 " " 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 >

 

转载于:https://www.cnblogs.com/sjjsky/archive/2008/03/26/1122943.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值