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

本文介绍了一种在网页中实现右下角消息提醒的方法,包括弹窗的显示与隐藏、最小化及最大化等交互功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天客户要求在系统中加一个消息提醒功能,就是如果有新工作需要办理,在屏幕的右下角弹出如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=最小化 onclick=minDiv() >- </span><span style="CURSOR: hand;font-size:12px;font-weight:bold;margin-right:4px;" title=关闭 onclick=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;" onclick=maxDiv() >□</span><span title=关闭 style="CURSOR: hand;font-size:12px;font-weight:bold;margin-right:4px;" onclick=closeDiv() >×</span>
        </td>
       </tr>
      </table>
     </td>
    </TR>
   </TABLE>
</DIV>
<!--提示窗口代码结束-->
</BODY>
</HTML>

实现之后的效果如下图所示:

 

个人感觉还不错,如果有什么问题,可以给我留言。

内容概要:本文详细介绍了900W或1Kw,20V-90V 10A双管正激可调电源充电机的研发过程和技术细节。首先阐述了项目背景,强调了充电机在电动汽车和可再生能源领域的重要地位。接着深入探讨了硬件设计方面,包括PCB设计、磁性器件的选择及其对高功率因数的影响。随后介绍了软件实现,特别是程序代码中关键的保护功能如过流保护的具体实现方法。此外,文中还提到了充电机所具备的各种保护机制,如短路保护、欠压保护、电池反接保护、过流保护和过温度保护,确保设备的安全性和可靠性。通讯功能方面,支持RS232隔离通讯,采用自定义协议实现远程监控和控制。最后讨论了散热设计的重要性,以及为满足量产需求所做的准备工作,包括提供详细的PCB图、程序代码、BOM清单、磁性器件和散热片规格书等源文件。 适合人群:从事电力电子产品研发的技术人员,尤其是关注电动汽车充电解决方案的专业人士。 使用场景及目标:适用于需要高效、可靠充电解决方案的企业和个人开发者,旨在帮助他们快速理解和应用双管正激充电机的设计理念和技术要点,从而加速产品开发进程。 其他说明:本文不仅涵盖了理论知识,还包括具体的工程实践案例,对于想要深入了解充电机内部构造和工作原理的人来说是非常有价值的参考资料。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值