网页右下角弹窗代码

网页右下角弹窗代码,整合了很多东西,代码有点乱,暂时不做整理,先留着备份一下。

<%@ page contentType="text/html;charset=UTF-8"%>

<style type="text/css">
<%--右下角通知公告弹窗 start--%>
#msg_win {
	border: 1px solid #75D7FC;
	background: #EFFFFF;  <%--弹窗背景色--%>;
	position: absolute;
	right: 16;  <%-- 相对于右下角的宽度 --%>;
	font-size: 12px;
	font-family: Arial;
	margin: 0px;
	display: none;
	overflow: hidden;
	z-index: 99;
}

#msg_win .icos {
	position: absolute;
	top: 0px;
	right: 2px;
	z-index: 9;
}

.icos a {
	float: left;
	color: #833B02;
	margin: 1px;
	text-align: center;
	font-weight: bold;
	width: 14px;
	height: 22px;
	line-height: 22px;
	padding: 1px;
	text-decoration: none;
	font-family: 'webdings';
}

.icos a:hover {
	color: #fff;
}

#msg_title {
	background: #75D7FC url(bar_bg.gif) repeat-x 0 100%;
	border-bottom: 1px solid #A67901;
	border-top: 1px solid #FFF;
	border-left: 1px solid #FFF;
	color: #000;
	height: 25px;
	line-height: 25px;
	text-indent: 5px;
}

#msg_content {
	margin: 5px;
	margin-right: 0;
	overflow: hidden;
	text-align: center;
}

#button
{
	border-right: medium none;
	border-top: medium none;
	font-size: 12px;
	color:#000000;
	font-weight: normal;
	background-image: url(button_bg.gif);
	border-left: medium none;
	padding-top: 2px;
	border-bottom: medium none;
	height:18px;
	line-height:18px;
	vertical-align : text-bottom ;
}
<%--右下角通知公告弹窗end --%>

</style>

<script>
    <%--右下角通知公告弹窗 start--%>
    var Message = {
    		close : function() {// 关闭
    			this.win.style.display = 'none';
    			window.onscroll = null;
    		},
    		show : function() {// 渐显
    			clearInterval(this.timer2);
    			var me = this, fx = this.fx(0, 100, 0.1), t = 0;
    			this.timer2 = setInterval(function() {
    				t = fx();
    				if (t[1] == 0) {
    					clearInterval(me.timer2);
    				}
    			}, 10);
    		},
    		fx : function(a, b, c) {// 缓冲计算
    			var cMath = Math[(a - b) > 0 ? "floor" : "ceil"], c = c || 0.1;
    			return function() {
    				return [ a += cMath((b - a) * c), a - b ];
    			}
    		},
    		getY : function() {// 计算移动坐标
    			var d = document, b = document.body, e = document.documentElement;
    			var s = Math.max(b.scrollTop, e.scrollTop);
    			var h = /BackCompat/i.test(document.compatMode) ? b.clientHeight : e.clientHeight;
    			var h2 = this.win.offsetHeight;
    			return {
    				foot : s + h + h2 + 2 + 'px',
    				top : s + h - h2 - 28 + 'px' //28 弹出框往上移设置
    			}
    		},
    		moveTo : function(y) {// 移动动画
    			clearInterval(this.timer);
    			var me = this, a = parseInt(this.win.style.top) || 0;
    			var fx = this.fx(a, parseInt(y));
    			var t = 0;
    			this.timer = setInterval(function() {
    				t = fx();
    				me.win.style.top = t[0] + 'px';
    				if (t[1] == 0) {
    					clearInterval(me.timer);
    					me.bind();
    				}
    			}, 10);
    		},
    		bind : function() {// 绑定窗口滚动条与大小变化事件
    			var me = this, st, rt;
    			window.onscroll = function() {
    				clearTimeout(st);
    				clearTimeout(me.timer2);
    				st = setTimeout(function() {
    					me.win.style.top = me.getY().top;
    					me.show();
    				}, 280);
    			};
    			window.onresize = function() {
    				clearTimeout(rt);
    				rt = setTimeout(function() {
    					me.win.style.top = me.getY().top;
    				}, 100);
    			}
    		},
    		init : function() {// 创建HTML
    			function $(id) {
    				return document.getElementById(id);
    			};
    			if(document.getElementById("msg_win")) {
    				this.win = document.getElementById("msg_win");
    			} else {
    				this.win = document.createElement('DIV');
    			}
    			this.win.style.width = 277; //改变窗口的大小
    			this.win.style.height = 180;
    			this.win.id = "msg_win";
    			this.win.innerHTML = '<div class="icos"><a href="javascript:void 0" title="关闭" id="msg_close">r</a></div><div id="msg_title">通知公告</div><div id="msg_content"></div>';
    			document.body.appendChild(this.win);
    			var set = {
    				closebtn : 'msg_close',
    				title : 'msg_title',
    				content : 'msg_content'
    			};
    			for ( var Id in set) {
    				this[Id] = $(set[Id]);
    			}
    			;
    			var me = this;
    			this.closebtn.onclick = function() {
    				me.close();
    			};
    			this.char = navigator.userAgent.toLowerCase().indexOf('firefox') + 1 ? [
    					'_', '::', '×' ]
    					: [ '0', '2', 'r' ];// FF不支持webdings字体
    			this.closebtn.innerHTML = this.char[2];
    			setTimeout(function() {// 初始化最先位置
    						me.win.style.display = 'block';
    						me.win.style.top = me.getY().foot;
    						me.moveTo(me.getY().top);
    					}, 280);
    			return this;
    		}
    	};

    	//间隔几分钟读取一次通知公告的xml
    	var noticeTime = <%=request.getAttribute("noticeTime")%>;
		function reloadNotice() {
			$.post("${URL}/gg/ggNotice!readXmlFile.action", function(data){
				if(data=="" || data==null) {
					window.setTimeout("reloadNotice()",noticeTime*60*1000);//设置5分钟后自动刷新
				} else {
					var notice = data.split("O6B2DU5LI56449Y5U34NB47981779267");
					Message.init();
					Message.title.innerHTML = '<img src="${URL}/images/gg_msg.gif" /><a href="#" οnclick="newNotice();" >  您有' + notice[0] + '条新的消息</a>';
					//Message.title.innerHTML = '您有' + notice[0] + '条新的通知';
					Message.content.style.width = "270";
			    	Message.content.style.height = "140";

			    	var title = '<div style="text-align:center; font-weight: bold;">' + notice[1] + '</div>';
			    	var content = '<div style="text-align:left; margin-top:5px;">' + notice[2] + '</div>';
			    	var noticeallocateguid = "'" + notice[3] + "'";
			    	var preDiv = '<div style="margin-top:50px;float:right;margin-right:8px; ">';
			    	var preRecord = '<a href="#" οnclick="preNotice(' + notice[4] + ')" class="button" >上一条</a>  ';
			    	var nextRecord = '<a href="#" οnclick="nextNotice(' + notice[4] + ')" class="button" >下一条</a>  ';
			    	var viewBtn = '<a href="#" οnclick="viewNotice(' + noticeallocateguid + ')" class="button" >查看</a>  ';
			    	//var viewBtn = '<div style="margin-top:80px;float:right; "><a target="_blank" href="${URL}/gg/ggNoticeAllocate!view.action?id=' + notice[3] + '" class="button" >查看</a>  ';
			    	var closeBtn = '<a href="#" οnclick="closeNotice();" class="button" >不再提示</a></div>';
			    	Message.content.innerHTML = title + content + preDiv + preRecord + nextRecord + viewBtn + closeBtn;
			    	window.setTimeout("reloadNotice()",noticeTime*60*1000);//设置5分钟后自动刷新
				}
			})
		}
		function newNotice() {
			document.getElementById("msg_win").style.display = 'none';
			window.open("${URL}/gg/ggNoticeAllocate!.action", "查看所有新消息");
		}
		
		function viewNotice(noticeallocateguid) {
			document.getElementById("msg_win").style.display = 'none';
			$.post("${URL}/gg/ggNotice!closeNotice.action",
					{noticeallocateguid:noticeallocateguid},
					function(data){
			})
			window.open("${URL}/gg/ggNoticeAllocate!view.action?flag=1&noticeallocateguid=" + noticeallocateguid, "查看消息");
		}
		function closeNotice() {
			document.getElementById("msg_win").style.display = 'none';
			$.post("${URL}/gg/ggNotice!closeAllNotice.action",
					function(data){
			})
		}
		
		$(function(){
			if(noticeTime != 0) {
				reloadNotice();
			}
		})
		
		function preNotice(addtime) {
			$.post("${URL}/gg/ggNotice!readXmlFile.action",
					{addtime:addtime, flag:1},
					function(data){
						if(data!="" && data!=null) {
							var notice = data.split("O6B2DU5LI56449Y5U34NB47981779267");
							Message.title.innerHTML = '<img src="${URL}/images/gg_msg.gif" /><a href="#" οnclick="newNotice();" >  您有' + notice[0] + '条新的消息</a>';
							Message.content.style.width = "270";
					    	Message.content.style.height = "140";

					    	var title = '<div style="text-align:center; font-weight: bold;">' + notice[1] + '</div>';
					    	var content = '<div style="text-align:left; margin-top:5px;">' + notice[2] + '</div>';
					    	var noticeallocateguid = "'" + notice[3] + "'";
					    	var preDiv = '<div style="margin-top:50px;float:right;margin-right:8px; ">';
					    	var preRecord = '<a href="#" οnclick="preNotice(' + notice[4] + ')" class="button" >上一条</a>  ';
					    	var nextRecord = '<a href="#" οnclick="nextNotice(' + notice[4] + ')" class="button" >下一条</a>  ';
					    	var viewBtn = '<a href="#" οnclick="viewNotice(' + noticeallocateguid + ')" class="button" >查看</a>  ';
					    	var closeBtn = '<a href="#" οnclick="closeNotice();" class="button" >不再提示</a></div>';
					    	Message.content.innerHTML = title + content + preDiv + preRecord + nextRecord + viewBtn + closeBtn;
						}
			})
		}
		
		function nextNotice(addtime) {
			$.post("${URL}/gg/ggNotice!readXmlFile.action",
					{addtime:addtime, flag:2},
					function(data){
						if(data!="" && data!=null) {
							var notice = data.split("O6B2DU5LI56449Y5U34NB47981779267");
							Message.title.innerHTML = '<img src="${URL}/images/gg_msg.gif" /><a href="#" οnclick="newNotice();" >  您有' + notice[0] + '条新的消息</a>';
							Message.content.style.width = "270";
					    	Message.content.style.height = "140";

					    	var title = '<div style="text-align:center; font-weight: bold;">' + notice[1] + '</div>';
					    	var content = '<div style="text-align:left; margin-top:5px;">' + notice[2] + '</div>';
					    	var noticeallocateguid = "'" + notice[3] + "'";
					    	var preDiv = '<div style="margin-top:50px;float:right;margin-right:8px; ">';
					    	var preRecord = '<a href="#" οnclick="preNotice(' + notice[4] + ')" class="button" >上一条</a>  ';
					    	var nextRecord = '<a href="#" οnclick="nextNotice(' + notice[4] + ')" class="button" >下一条</a>  ';
					    	var viewBtn = '<a href="#" οnclick="viewNotice(' + noticeallocateguid + ')" class="button" >查看</a>  ';
					    	var closeBtn = '<a href="#" οnclick="closeNotice();" class="button" >不再提示</a></div>';
					    	Message.content.innerHTML = title + content + preDiv + preRecord + nextRecord + viewBtn + closeBtn;
						}
			})
		}
    	<%--右下角通知公告弹窗 start--%>
</script>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: WinForms是一种用于开发Windows桌面应用程序的技术,它提供了一套丰富的控件和功能,可以创建用户友好的界面。下角是指在应用程序界面的下角出一个小口,用于显示一些通知、提醒或其他相关信息。 要实现下角,可以通过以下步骤进行: 1. 创建一个名为"PopupForm"的新体。在该体中,设置体的大小、位置和样式,使其位于屏幕的下角。可以使用WinForms中的Size、Location、TopMost等属性进行设置。 2. 为PopupForm体添加控件。可以根据需求添加Label、PictureBox等控件,用于显示标题、内容和图标。 3. 设置PopupForm体的动画效果。可以使用Timer控件实现体的出和隐藏过程。例如,在Timer的Tick事件中,逐渐改变体的位置和透明度,实现体的渐入和渐出效果。 4. 在主体中,触发显示的事件。例如,在某个按钮的Click事件中,创建PopupForm实例,并调用Show方法显示。 通过以上步骤,就可以实现一个简单的WinForms下角。可以根据实际需求进行调整和扩展,例如添加关闭按钮、设置持续显示时间等功能。另外,为了确保在屏幕大小改变时仍然位于下角,可以订阅屏幕大小变化事件,并在事件处理程序中更新的位置。 总之,WinForms提供了丰富的功能和控件,可以方便地实现各种界面效果,包括下角。通过合理设置体属性和控件布局,结合动画效果和事件处理,可以创建出漂亮、实用的界面。 ### 回答2: WinForm下角下角提示框)是一种常见的界面提示方式,它通过在屏幕下角出一个小口来显示提示信息。可以通过以下步骤实现: 1. 创建一个新的WinForm应用程序项目。 2. 在设计视图中,将一个Panel控件添加到体上,并设置其Dock属性为Bottom,即使得它位于体的底部。 3. 设置Panel的高度和背景颜色,以实现一个看起来像的效果。 4. 在Panel控件中,添加一个Label控件,用于显示提示信息。 5. 按需设置Label控件的字体、字号、对齐方式等属性,并设置AutoEllipsis属性为true,以避免提示信息过长导致显示不全。 6. 添加一个Timer控件,并设置其Interval属性为适当的毫秒数,控制显示的时长。 7. 双击Timer控件,编写其Tick事件处理程序,在事件处理程序中将Panel控件隐藏(隐藏)。 8. 在需要显示的时候,通过设置Panel控件的Visible属性为true,并使用Timer控件启动。 9. 可以自定义一些方法或属性,通过调用这些方法或设置这些属性来动态修改提示信息,以实现更加灵活的。 通过上述步骤,我们可以实现一个简单的WinForm下角。当需要提示用户一些重要信息时,通过显示这个,可以有效吸引用户的注意力,提高用户体验。同时,通过自定义的外观和行为,可以满足不同场景下的需求,增加程序的可定制性。 ### 回答3: 在WinForm中实现下角,一种常见的方法是借助NotifyIcon和ToolTip组件配合使用。 首先,在工具箱中找到NotifyIcon组件,并将其拖放到体上。然后,在属性口中设置NotifyIcon的属性,包括Icon(用于显示在任务栏的图标)、BalloonTipIcon(气泡提示图标)和BalloonTipText(气泡提示内容)等。 接下来,在需要下角提示的事件中,可以通过调用NotifyIcon的ShowBalloonTip方法来显示气泡提示。例如,可以在某个按钮的Click事件中添加以下代码: private void button1_Click(object sender, EventArgs e) { notifyIcon1.ShowBalloonTip(5000, "提示", "这是一个下角示例", ToolTipIcon.Info); } 上述代码中,第一个参数表示气泡提示显示的时间(单位为毫秒),第二个参数为气泡提示的标题,第三个参数为气泡提示的内容,第四个参数用于设置气泡提示的图标。 最后,为了在用户关闭时触发相应的事件,可以为NotifyIcon的BalloonTipClosed事件添加处理逻辑。例如,可以在体的Load事件中添加以下代码: private void Form1_Load(object sender, EventArgs e) { notifyIcon1.BalloonTipClosed += NotifyIcon1_BalloonTipClosed; } private void NotifyIcon1_BalloonTipClosed(object sender, EventArgs e) { // 在这里编写提示关闭后的处理逻辑 } 这样就可以实现一个简单的WinForm下角

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值