仿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);

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

代码下载/Files/wenjl520/PopupMessage.rar

版权说明

如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。

作      者:温景良

文章出处:http://beniao.cnblogs.com/  或  http://www.cnblogs.com/

转载于:https://www.cnblogs.com/linuxredhat/archive/2009/09/30/1577077.html

仿QQ弹出窗口 gggggggggggg相关推荐

  1. ASP.net 仿QQ弹出窗口

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

  2. 仿QQ弹出窗口[转]

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

  3. [转]仿QQ弹出窗口

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

  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. BeanShell中的Java指令和表达式
  2. HDFS 的Trash回收站功能的配置、使用
  3. 利用ngnix解决跨域问题
  4. 如何击败腾讯_击败股市
  5. 数学学习笔记--概率论
  6. css3 多列布局使用
  7. 2018.9.10.Matlab实验一:熟悉Matlab开发环境
  8. iDesktop点数据集构建DEM时三种插值方式的选择
  9. linux 定时器_通过linux源码分析nodejs的keep-alive
  10. thinkphp 如何调用百度echarts 数据报表插件
  11. Visual Basic十年风云
  12. HadoopMR-Spark-HBase-Hive
  13. 供应XBF-01型多功存储介质粉碎机
  14. Atitit 数据库结果集映射 ResultSetHandler 目录 1. 常见的四种配置ResultSetHandler 1 2. Dbutil 1 3. Mybatis 致敬 3 4. H
  15. cocos2d js 别出白线游戏上线
  16. c语言中输入123输出123321,2011年计算机等级二级C语言章节习题及答案(39)
  17. 13-JS中的面向对象
  18. java 文字串叠字检查_正则表达式的相关应用
  19. android中怎么播放本地视频播放器,安卓之播放本地视频讲解
  20. macbook修改账户名称

热门文章

  1. 【Delphi】ADOConnection连接数据库、ADOQuery执行SQL语句、StringGrid填充数据集
  2. 记录oracle的一些操作
  3. 鸿蒙系统hifi,Apple Music将迎来重大更新 HiFi无损音质即将上线?
  4. 任务管理器中查看文件被哪个进程占用
  5. 星球乐园 | 对节日无感的寡淡人士,你们还猜灯谜吗?
  6. 中国海洋大学2022CTF校赛
  7. 无线家庭生活 教你如何设置无线路由器1
  8. xss攻击之盗取账号
  9. Pandas(二)--DataFrame结构
  10. 什么是基本表?什么是视图?两者的…