从http://www.cnblogs.com/wenjl520/archive/2008/10/27/1320500.html转过来的仿QQ弹出窗口,试用了下,感觉 不错,转到自己空间,以备忘。

Code
  1 using System;
  2 using System.Web;
  3 using System.Collections.Generic;
  4 using System.Text;
  5 
  6 /****************************************
  7  * 作者:wenjl
  8  * 功能:使用该类,可以实现右下角的弹出界面。
  9  * 日期:2008-10-26  
 10  * 版本:0.1
 11  * **************************************/
 12 namespace PopupMessage
 13 {
 14     /// <summary>
 15     /// 使用该类,可以实现右下角的弹出界面。
 16     /// </summary>
 17     public class PopupMessage
 18     {
 19         private StringBuilder m_Script;
 20 
 21         #region PopupMessage构造函数。
 22         /// <summary>
 23         /// 构告出弹出界面的前台脚本。
 24         /// </summary>
 25         public PopupMessage()
 26         {
 27             m_Script = new StringBuilder();
 28             #region Script
 29             m_Script.Append("<SCRIPT language=\"JavaScript\" type=\"text/javascript\">  \n ");
 30             // m_Script.Append("<!--  \n ");
 31             m_Script.Append("function CLASS_MSN_MESSAGE(id,width,height,caption,message,target,action){  \n ");
 32             m_Script.Append("this.id     = id;   \n ");
 33             m_Script.Append("this.caption= caption;  \n ");
 34             m_Script.Append("this.message= message;  \n ");
 35             m_Script.Append("this.target = target;  \n ");
 36             m_Script.Append("this.action = action;  \n ");
 37             m_Script.Append("this.width    = width;  \n ");
 38             m_Script.Append("this.height = height;  \n ");
 39             m_Script.Append("this.timeout= 2000;  \n ");
 40             m_Script.Append("this.speed    = 20; \n ");
 41             m_Script.Append("this.step    = 1; \n ");
 42             m_Script.Append("this.right    = screen.width -1;  \n ");
 43             m_Script.Append("this.bottom = screen.height; \n ");
 44             m_Script.Append("this.left    = this.right - this.width; \n ");
 45             m_Script.Append("this.top    = this.bottom - this.height; \n ");
 46             m_Script.Append("this.timer    = 0; \n ");
 47             m_Script.Append("this.pause    = false;\n ");
 48             m_Script.Append("this.close    = false;\n ");
 49             m_Script.Append("this.autoHide    = true;\n ");
 50             m_Script.Append("}    \n ");
 51             m_Script.Append("/*  \n ");
 52             m_Script.Append("*    隐藏消息方法  \n ");
 53             m_Script.Append("*/  \n ");
 54             m_Script.Append("CLASS_MSN_MESSAGE.prototype.hide = function(){  \n ");
 55             m_Script.Append("if(this.onunload()){  \n ");
 56             m_Script.Append("var offset  = this.height>this.bottom-this.top?this.height:this.bottom-this.top; \n ");
 57             m_Script.Append("var me  = this;  \n ");
 58             m_Script.Append("if(this.timer>0){   \n ");
 59             m_Script.Append("window.clearInterval(me.timer);  \n ");
 60             m_Script.Append("}  \n ");
 61             m_Script.Append("var fun = function(){  \n ");
 62             m_Script.Append("if(me.pause==false||me.close){\n ");
 63             m_Script.Append("var x  = me.left; \n ");
 64             m_Script.Append("var y  = 0; \n ");
 65             m_Script.Append("var width = me.width; \n ");
 66             m_Script.Append("var height = 0; \n ");
 67             m_Script.Append("if(me.offset>0){ \n ");
 68             m_Script.Append("height = me.offset; \n ");
 69             m_Script.Append("}      \n ");
 70             m_Script.Append("y  = me.bottom - height;      \n ");
 71             m_Script.Append("if(y>=me.bottom){ \n ");
 72             m_Script.Append("window.clearInterval(me.timer);  \n ");
 73             m_Script.Append("me.Pop.hide();  \n ");
 74             m_Script.Append("} else { \n ");
 75             m_Script.Append("me.offset = me.offset - me.step;  \n ");
 76             m_Script.Append("} \n ");
 77             m_Script.Append("me.Pop.show(x,y,width,height);    \n ");
 78             m_Script.Append("}             \n ");
 79             m_Script.Append("}  \n ");
 80             m_Script.Append("this.timer = window.setInterval(fun,this.speed)      \n ");
 81             m_Script.Append("}  \n ");
 82             m_Script.Append("}    \n ");
 83             m_Script.Append("/* \n ");
 84             m_Script.Append("*    消息卸载事件,可以重写  \n ");
 85             m_Script.Append("*/  \n ");
 86             m_Script.Append("CLASS_MSN_MESSAGE.prototype.onunload = function() {  \n ");
 87             m_Script.Append("return true;  \n ");
 88             m_Script.Append("}  \n ");
 89             m_Script.Append("/*  \n ");
 90             m_Script.Append("*    消息命令事件,要实现自己的连接,请重写它  \n ");
 91             m_Script.Append("*  \n ");
 92             m_Script.Append("*/  \n ");
 93             m_Script.Append("CLASS_MSN_MESSAGE.prototype.oncommand = function(){  \n ");
 94             m_Script.Append("this.hide();    \n ");
 95             m_Script.Append("} \n ");
 96             m_Script.Append("/*  \n ");
 97             m_Script.Append("*    消息显示方法  \n ");
 98             m_Script.Append("*/  \n ");
 99             m_Script.Append("CLASS_MSN_MESSAGE.prototype.show = function(){  \n ");
100             m_Script.Append("var oPopup = window.createPopup(); /*IE5.5+ */   \n ");
101             m_Script.Append("this.Pop = oPopup;    \n ");
102             m_Script.Append("var w = this.width;  \n ");
103             m_Script.Append("var h = this.height;    \n ");
104             m_Script.Append("var str = \"<div style='z-index: 99999;width:\" + w + \"px; height:\" + h + \"px;'>\"  \n ");
105             m_Script.Append("str += \"<table width='\"+this.width+\"px' border='0' cellspacing='0' cellpadding='0'>\"  \n ");
106             m_Script.Append("str += \"<tr><td width='36px' height=24><img src='images/msg/msg_03.gif' /></td>\"  \n ");
107             m_Script.Append("str += \"<td style='font-size:12px; color:#FFF; font-weight:bold; line-height:20px; background:url(images/msg/msg_05.gif) repeat-x; padding-top:3px;'>\" + this.caption + \"</td>\"\n ");
108             m_Script.Append("str += \"<td width='23px'><img src='images/msg/msg_07.gif' id='btSysClose' title='关闭' style='cursor:hand;'  /></td>\"\n ");
109             m_Script.Append("str += \"</tr>\"\n ");
110             m_Script.Append("str += \"</table>\"\n ");
111             m_Script.Append("str += \"<table width='100%' border='0' cellspacing='0' cellpadding='0'>\"\n ");
112             m_Script.Append("str += \"<tr>\"\n ");
113             m_Script.Append("str += \"<td width='5px' rowspan='2' background='images/msg/msg_09.gif'></td>\"\n ");
114             m_Script.Append("str += \"<td width='\"+(this.width-10)+\"px' height=\"+(this.height-54)+\" background='images/msg/bg_01.gif' style='line-height:16px; color:#191CCB;'><div style='margin:10px;font-size:12px;cursor:hand;'>\"+ this.message + \"</div></td>\"\n ");
115             m_Script.Append("str += \"<td width='5px' rowspan='2' background='images/msg/msg_15.gif'></td>\"\n ");
116             m_Script.Append("str += \"</tr>\"\n ");
117             m_Script.Append("str += \"<tr>\"\n ");
118             m_Script.Append("str += \"<td height='24' background='images/msg/bg_02.gif' > <a id='btnMessage'></a></td>\"\n ");
119             m_Script.Append("str += \"</tr>\"\n ");
120             m_Script.Append("str += \"</table>\"\n ");
121             m_Script.Append("str += \"<table width='\"+this.width+\"px' ' border='0' cellspacing='0' cellpadding='0'>\"\n ");
122             m_Script.Append("str += \"<tr><td height='8px' style='width: 12px; background: url(images/msg/left.jpg)'>\"\n ");
123             m_Script.Append("str += \" <td height='8px' style='width:\"+(this.width-22)+\"px; background: url(images/msg/middle.jpg)'>\"\n ");
124             m_Script.Append("str += \"<td height='8px' style='width: 10px; background: url(images/msg/right.jpg)'>\"\n ");
125             m_Script.Append("str += \"</tr>\"\n ");
126             m_Script.Append("str += \"</table>\"\n ");
127             m_Script.Append("str += \"</div>\"\n ");
128             m_Script.Append("alert(str); oPopup.document.body.innerHTML = str;  \n ");
129             m_Script.Append("this.offset  = 0; \n ");
130             m_Script.Append("var me  = this;  \n ");
131             m_Script.Append("oPopup.document.body.onmouseover = function(){me.pause=true;}\n ");
132             m_Script.Append("oPopup.document.body.onmouseout = function(){me.pause=false;}\n ");
133             m_Script.Append("var fun = function(){  \n ");
134             m_Script.Append("var x  = me.left; \n ");
135             m_Script.Append("var y  = 0; \n ");
136             m_Script.Append("var width    = me.width; \n ");
137             m_Script.Append("var height    = me.height; \n ");
138             m_Script.Append("if(me.offset>me.height){ \n ");
139             m_Script.Append("height = me.height; \n ");
140             m_Script.Append("} else { \n ");
141             m_Script.Append("height = me.offset; \n ");
142             m_Script.Append("} \n ");
143             m_Script.Append("y  = me.bottom - me.offset; \n ");
144             m_Script.Append("if(y<=me.top){ \n ");
145             m_Script.Append("me.timeout--; \n ");
146             m_Script.Append("if(me.timeout==0){ \n ");
147             m_Script.Append("window.clearInterval(me.timer);  \n ");
148             m_Script.Append("if(me.autoHide){\n ");
149             m_Script.Append("me.hide(); \n ");
150             m_Script.Append("}\n ");
151             m_Script.Append("} \n ");
152             m_Script.Append("} else { \n ");
153             m_Script.Append("me.offset = me.offset + me.step; \n ");
154             m_Script.Append("} \n ");
155             m_Script.Append("me.Pop.show(x,y,width,height);    \n ");
156             m_Script.Append("}    \n ");
157             m_Script.Append("this.timer = window.setInterval(fun,this.speed)        \n ");
158             m_Script.Append("var btClose = oPopup.document.getElementById(\"btSysClose\" );    \n ");
159             m_Script.Append("btClose.onclick = function(){  \n ");
160             m_Script.Append("me.close = true;\n ");
161             m_Script.Append("me.hide();  \n ");
162             m_Script.Append("} \n ");
163             m_Script.Append("}  \n ");
164             m_Script.Append("/* \n ");
165             m_Script.Append("** 设置速度方法 \n ");
166             m_Script.Append("**/ \n ");
167             m_Script.Append("CLASS_MSN_MESSAGE.prototype.speed = function(s){ \n ");
168             m_Script.Append("var t = 20; \n ");
169             m_Script.Append("try { \n ");
170             m_Script.Append("t = praseInt(s); \n ");
171             m_Script.Append("} catch(e){} \n ");
172             m_Script.Append("this.speed = t; \n ");
173             m_Script.Append("} \n ");
174             m_Script.Append("/* \n ");
175             m_Script.Append("** 设置步长方法 \n ");
176             m_Script.Append("**/ \n ");
177             m_Script.Append("CLASS_MSN_MESSAGE.prototype.step = function(s){ \n ");
178             m_Script.Append("var t = 1; \n ");
179             m_Script.Append("try { \n ");
180             m_Script.Append("t = praseInt(s); \n ");
181             m_Script.Append("} catch(e){} \n ");
182             m_Script.Append("this.step = t; \n ");
183             m_Script.Append("}   \n ");
184             m_Script.Append("CLASS_MSN_MESSAGE.prototype.rect = function(left,right,top,bottom){ \n ");
185             m_Script.Append("try { \n ");
186             m_Script.Append("this.left        = left    !=null?left:this.right-this.width; \n ");
187             m_Script.Append("this.right        = right    !=null?right:this.left +this.width; \n ");
188             m_Script.Append("this.bottom        = bottom!=null?(bottom>screen.height?screen.height:bottom):screen.height; \n ");
189             m_Script.Append("this.top        = top    !=null?top:this.bottom - this.height; \n ");
190             m_Script.Append("} catch(e){} \n ");
191             m_Script.Append("} \n ");
192             m_Script.Append("function NavigateUrl(url){ parent.parent['Main'].location=url;} \n ");
193             m_Script.Append("</SCRIPT> \n ");
194             #endregion Script
195             HttpContext.Current.Response.Write(m_Script.ToString());
196         }
197         #endregion
198 
199         #region 缓慢的显示
200         /// <summary>
201         /// 缓慢的显示。
202         /// <param name="Content">弹出框显示的内容</param>
203         /// <param name="Height">弹出框的高度</param>
204         /// <param name="Title">弹出框的标题</param>
205         /// <param name="Width">弹出框的宽度</param>
206         /// </summary>
207         public void Slowly(int Width, int Height, string Title, string Content)
208         {
209             string Message = "<script language='" + "javascript" + "' type='" + "text/javascript" + "'> var MSG1 = new CLASS_MSN_MESSAGE('" + "task" + "','" + Width + "','" + Height + "','" + "上级安排任务提示:" + "',\"" + Content + "\",'" + "" + "');" +
210                  " MSG1.rect(null,null,null,screen.height); " +
211                  " MSG1.show(); </script>"
212             HttpContext.Current.Response.Write(Message);
213         }
214 
215         /// <summary>
216         /// 缓慢的显示。
217         /// <param name="Title">弹出框的标题</param>
218         /// <param name="Width">弹出框的宽度</param>
219         /// </summary>
220         public void Slowly(string Title, string Content)
221         {
222             Slowly(258, 160, Title, Content);
223         }
224         #endregion
225 
226         #region 快速的显示
227         /// <summary>
228         /// 快速的显示
229         /// <param name="Content">弹出框显示的内容</param>
230         /// <param name="Height">弹出框的高度</param>
231         /// <param name="Title">弹出框的标题</param>
232         /// <param name="Width">弹出框的宽度</param>
233         /// </summary>
234         public void Quickly(int Width, int Height, string Title, string Content)
235         {
236             string Message = "<script language='" + "javascript" + "' type='" + "text/javascript" + "'> var MSG1 = new CLASS_MSN_MESSAGE('" + "task" + "','" + Width + "','" + Height + "','" + "上级安排任务提示:" + "',\"" + Content + "\",'" + "" + "');" +
237                " MSG1.rect(null,null,null,screen.height-35); " +
238                 "MSG1.speed    = 20; " +
239                " MSG1.step    = 5; " +
240                " MSG1.show(); </script>";
241             HttpContext.Current.Response.Write(Message);
242         }
243 
244         /// <summary>
245         /// 快速的显示
246         /// <param name="Title">弹出框的标题</param>
247         /// <param name="Width">弹出框的宽度</param>
248         /// </summary>
249         public void Quickly(string Title, string Content)
250         {
251             Quickly(258, 160, Title, Content);
252         }
253         #endregion
254 
255         #region 调用静态的操作
256         /// <summary>
257         /// 调用显示的属性。
258         /// </summary>
259         /// <returns></returns>
260         public static PopupMessage Display
261         {
262             get
263             {
264                 return new PopupMessage();
265             }
266         }
267         #endregion
268     }
269 }
270 

使用方法:

Code
 PopupMessage.PopupMessage message = new PopupMessage.PopupMessage();
        string SongPath = System.Configuration.ConfigurationManager.AppSettings["SongPath"].ToString();
        string result = "<bgsound   src='" + SongPath + "'   loop=2/><a id='btnNewMessage' style='text-decoration:none;cursor:hand;'>您好!目前有111等 222个待办事项,请点击查看!</a>";
        string aa = "SaleManager/OrderList.aspx";
        result = result + "<br/> <bgsound src='" + SongPath + "' loop=2/>" +
                  "<a id='btnaNewMessage' style='text-decoration:none;cursor:hand;' οnclick='parent.NavigateUrl(\\\"" + aa + "\\\");'>您好!目前有" + "sss" + "等" + "11" + "个待办事项,请点击查看!</a>";
        message.Slowly(258, 160, "待办事项", result);

images存放位置:从这里下载

这里面需要注意的是\的问题,因为在跳转的时候,要注意方法内的参数是否可以使用.

转载于:https://www.cnblogs.com/chhuic/archive/2009/09/29/1576416.html

[转]仿QQ弹出窗口相关推荐

  1. ASP.net 仿QQ弹出窗口

    ASP.net 仿QQ弹出窗口 [转]http://hi.baidu.com/liyukun8203/blog/item/d9244dfcdb78e388b901a019.html 最近在做内部管理, ...

  2. 仿QQ弹出窗口 gggggggggggg

    仿QQ弹出窗口 最近在做内部管理,需要用到这个东西来提醒,所以就把它做成一个类,直接调用,满方便的.贴一下代码,大家看一下 Code   1 using System;   2 using Syste ...

  3. 仿QQ弹出窗口[转]

    仿QQ弹出窗口 最近在做内部管理,需要用到这个东西来提醒,所以就把它做成一个类,直接调用,满方便的.贴一下代码,大家看一下 Code   1 using System;   2 using Syste ...

  4. air仿QQ弹出提示窗口

    <?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx ...

  5. 屏蔽TM和QQ的迷你新闻弹出窗口

    屏蔽QQ新闻弹出窗口: 我们每次开机登陆QQ时都会稍带着把"腾讯网迷你首页打开",虽然显示的都是最新的新闻,但却与我们打开的其它各大网站所看到新闻其基本相同,且其首页打开的速度比较 ...

  6. 可拖拽悬浮球,仿Assistive Touch弹出窗口

    可拖拽悬浮球,仿Assistive Touch弹出窗口 悬浮球 layout中使用DragFloatActionButton 最重要的事情!!!一定要给DragFloatActionButton设置点 ...

  7. html弹出窗口加载别的页面地址,仿layer.open打开新窗口URL,自适应URL页面高度

    layer.open打开新窗口URL,不能在弹出窗口的同时根据所打开URL地址页面的大小,弹出的同时自适应窗口大小,所以根据需要自己写了一个,请参考指正. 首先加载jquery 下面是js代码: // ...

  8. php 弹窗代码大全,PHP_asp.net弹出窗口代码大全,//关闭,父窗口弹出对话框,子窗 - phpStudy...

    asp.net弹出窗口代码大全 //关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write(""); //关闭,父窗口和子窗口都不弹出对话框,直接关闭 th ...

  9. web页面之弹出窗口

    功能概述 web页面中,常见弹出对话框显示页面内容的功能,html语言中js默认提供 showModalDialog()方法显示的页面标题存在路径字符串,各个浏览器显示的效果不一致,界面不美观,下面介 ...

最新文章

  1. STM32速度---网页讲解
  2. 《视频直播技术详解》系列之二:采集
  3. SAP Spartacus LockFocusDirective的单步调试
  4. SAP Spartacus里product数据请求的HTTP url是在哪里维护的
  5. android第一天-------环境搭建
  6. LeetCode 1790. 仅执行一次字符串交换能否使两个字符串相等
  7. Docker安装elasticsearch 7.7.0
  8. 用css实现模仿火狐社区的一个提示框
  9. 【华为云技术分享】为什么越来越多企业正在往ARM平台迁移?
  10. 小牛485通讯原理_让你秒懂智能电表工作原理及抄表原理
  11. 修改maven默认仓库(即repository)的路径
  12. python 进位_Python中常见的数制转换的说明
  13. 自动驾驶 9-6: EKF 的替代方案 - 无迹卡尔曼滤波器
  14. 晶闸管调压电路的matlab仿真,基于SIMULINK晶闸管调压电路仿真及分析.doc
  15. 计算机显示器刷新率怎么调,电脑显示器刷新率如何设置,免费教你如何快手设置刷新率...
  16. 使用itext和freemarker来根据Html模板生成PDF文件,加水印、印章
  17. 计算机上创建表格,Word 2007中插入表格或创建表格 -电脑资料
  18. 黑马程序员入学Java知识——精华总结
  19. 为什么商家有了收款二维码还要使用聚合支付?
  20. SD卡家族纵览(SD miniSD microSD SDIO)

热门文章

  1. 2016.1.6~2017.7.7,袋鼠云一岁半啦
  2. Linux汉化版系统
  3. 计算机的取反(~)操作解释
  4. 动态规划系列——原理与思想
  5. 《放学后》—— 读后总结
  6. freecodecamp项目---tictactoe
  7. 沈阳工业大学c语言编程题,金融工程专业《C语言程序设计》启发式教学探讨
  8. Android自定义华为睡眠,Android 模仿华为健康自定义 计步View
  9. C - 鬼吹灯之龙岭迷窟
  10. 【实战演练】快速获取容器VIPs,解决集群自动化测试难题