像MSN,QQ,迅雷類似效果的提示窗口

今天客戶要求在系統中加一個消息提醒功能,就是如果有新工作需要辦理,在屏幕的右下角彈出如MSN或QQ之類的提醒框。我整理了一下,希望對需要的人會有所幫助。

<HTML>
<HEAD>
<TITLE> 右下角提示窗口 </TITLE>
<META NAME="Keywords" CONTENT="提示窗口">
<META NAME="Description" CONTENT="提示窗口">
<script type="text/javascript">
<!--
<!--右下腳彈出窗口開始-->
window.onload = getMsg;
window.onresize = resizeDiv;
window.onerror = function(){}
var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0;

function getMsg()
{
   try
   {
    divTop = parseInt(document.getElementById("loft_win").style.top,10);
    divLeft = parseInt(document.getElementById("loft_win").style.left,10);
    divHeight = parseInt(document.getElementById("loft_win").offsetHeight,10);
    divWidth = parseInt(document.getElementById("loft_win").offsetWidth,10);
    docWidth = document.body.clientWidth;
    docHeight = document.body.clientHeight;
    document.getElementById("loft_win").style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;// divHeight
    document.getElementById("loft_win").style.left = parseInt(document.body.scrollLeft,10) + docWidth - divWidth;
    document.getElementById("loft_win").style.visibility="visible";
    objTimer = window.setInterval("moveDiv()",10);
   }
   catch(e){}
}

//初始化位置
function resizeDiv()
{
   i+=1;
   //if(i>300) closeDiv() //想不用自動消失由用戶來自己關閉所以屏蔽這句
   try
   {
    divHeight = parseInt(document.getElementById("loft_win").offsetHeight,10);
    divWidth = parseInt(document.getElementById("loft_win").offsetWidth,10);
    docWidth = document.body.clientWidth;
    docHeight = document.body.clientHeight;
    document.getElementById("loft_win").style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10);
    document.getElementById("loft_win").style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10);
   }
   catch(e){}
}

//最小化
function minsizeDiv()
{
   i+=1
   //if(i>300) closeDiv() //想不用自動消失由用戶來自己關閉所以屏蔽這句
   try
   {
    divHeight = parseInt(document.getElementById("loft_win_min").offsetHeight,10);
    divWidth = parseInt(document.getElementById("loft_win_min").offsetWidth,10);
    docWidth = document.body.clientWidth;
    docHeight = document.body.clientHeight;
    document.getElementById("loft_win_min").style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10);
    document.getElementById("loft_win_min").style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10);
   }
   catch(e){}
}

//移動
function moveDiv()
{
try
{
   if(parseInt(document.getElementById("loft_win").style.top,10) <= (docHeight - divHeight + parseInt(document.body.scrollTop,10)))
   {
    window.clearInterval(objTimer);
    objTimer = window.setInterval("resizeDiv()",1);
   }
   divTop = parseInt(document.getElementById("loft_win").style.top,10);
   document.getElementById("loft_win").style.top = divTop -1;
}
   catch(e){}
}

function minDiv()
{
   closeDiv();
   document.getElementById('loft_win_min').style.visibility='visible';
   objTimer = window.setInterval("minsizeDiv()",1);
}

function maxDiv()
{
   document.getElementById('loft_win_min').style.visibility='hidden';
   document.getElementById('loft_win').style.visibility='visible';
   objTimer = window.setInterval("resizeDiv()",1);
   //resizeDiv()
   getMsg();
}

function closeDiv()
{
   document.getElementById('loft_win').style.visibility='hidden';
   document.getElementById('loft_win_min').style.visibility='hidden';
   if(objTimer) window.clearInterval(objTimer);
}
<!--右下腳彈出窗口結束-->
-->
</script>
<style type="text/css">
<!--
#loft_win {border:#0066FF 1px solid;}
#loft_win_min {border:#0066FF 1px solid;}
.loft_win_head {color: #FFFFFF; font-size:13px; background-color:#0066FF; height:25px; padding:0,5,0,5;}
#contentDiv {background-color:#FFFFFF; border:#0066FF 1px solid; border-left-style:none; border-right-style:none;}
a { font-size:12px; color:#000000;}
a:link {font-size:12px; color:#999999; text-decoration:none;}
a:visited { font-size:12px; color:#df3465; text-decoration:none;}
a:hover {font-size:12px; color:#df3465; text-decoration:none;  border-left-style:none; border-right-style:none; border-top-style:none;}
a:actived {font-size:12px; color:#000000; text-decoration:none;}
-->
</style>
</HEAD>

<BODY>
<!--提示窗口代碼開始-->
<!--初狀態-->
<DIV id="loft_win" style="Z-INDEX:99999; LEFT: 0px; VISIBILITY: hidden;WIDTH: 180px; POSITION: absolute; TOP: 0px; HEIGHT: 100px;">
   <TABLE cellSpacing=0 cellPadding=0 width="100%" bgcolor="#FFFFFF" border=0>
    <TR>
     <td width="100%" valign="top" align="center">
      <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
       <tr>
        <td width="70" class="loft_win_head">提示窗口</td>
        <td width="26" class="loft_win_head"> </td>
        <td align="right" class="loft_win_head">
         <span style="CURSOR: hand;font-size:12px;font-weight:bold;margin-right:4px;" title=最小化 οnclick=minDiv() >- </span><span style="CURSOR: hand;font-size:12px;font-weight:bold;margin-right:4px;" title=關閉 οnclick=closeDiv() >×</span>
        </td>
       </tr>
      </table>
     </td>
    </TR>
    <TR>
     <TD height="100" align="center" valign="middle" colSpan=3>
      <div id="contentDiv">
       <table width="100%" height="100%" cellpadding="0" cellspacing="0">
        <tr>
         <td align="center" height="100%" bgcolor="whitesmoke">
          <div>
           <a href="http://www.sohu.com" target="_blank">您收到了新工作,<br>請及時辦理!</a>
          </div>
         </td>
        </tr>
       </table>
      </div>
     </TD>
    </TR>
   </TABLE>
</DIV>

<!--最小化狀態-->
<DIV id="loft_win_min" style="Z-INDEX:99999; LEFT: 0px; VISIBILITY: hidden;WIDTH: 180px; POSITION: absolute; TOP: 0px;">
   <TABLE cellSpacing=0 cellPadding=0 width="100%" bgcolor="#FFFFFF" border=0>
    <TR>
     <td width="100%" valign="top" align="center">
      <table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
       <tr>
        <td width="70" class="loft_win_head">提示窗口</td>
        <td width="26" class="loft_win_head"> </td>
        <td align="right" class="loft_win_head">
         <span title=還原 style="CURSOR: hand;font-size:12px;font-weight:bold;margin-right:4px;" οnclick=maxDiv() >□</span><span title=關閉 style="CURSOR: hand;font-size:12px;font-weight:bold;margin-right:4px;" οnclick=closeDiv() >×</span>
        </td>
       </tr>
      </table>
     </td>
    </TR>
   </TABLE>
</DIV>
<!--提示窗口代碼結束-->
</BODY>
</HTML>

實現之後的效果如下圖所示:

 

個人感覺還不錯,如果有什麼問題,可以給我留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章