如何用js写一个消息提示中心

在web端,传统的消息,告警,错误的提示方式为弹出框,也就是alert出来,实际这样的方式不是很友好。

今天带大家一起制作一个如下图所示的消息提示js组件,在使用时,直接在页面中new一个message的对象即可使用。

使用方式:1.将jwmessage.js的文件引用到页面。

2.var messageinstance = new JWmessage();

3.messageinstance.draw(messageType, messageContent);//这样即可创建一个消息提示框,messageType是提示的类型,决定提示框的颜色

本组件接受3中类型,分别为:消息(1)、警告(2)、错误(3),悬浮5秒自动消失,也可点击x手动立刻关闭。

不多说,代码如下:

function JWmessage(){
	this.render = 'messagebox';
	//关闭消息框事件
	this._onCloseMessageEvent = function(obj){
		$(obj).click(function(){
			var jobj = $(obj).parent().parent().parent().parent();
			jobj.slideUp(500,function(){
				jobj.remove();
			});
		});
	};
	this._onAutoCloseMessageEvent = function(obj){
		setTimeout(function(){
			var jobj = $(obj).parent().parent().parent().parent();
			jobj.slideUp(500,function(){
				jobj.remove();
			});
		},5000);
	};
}
JWmessage.prototype = {
		setRender : function(renderid){
			this.render = renderid;
		},
		draw : function(messagetype,messagetext){
			//创建消息提示框
			var messageframe = document.createElement("div");
			var jmessageframe = $(messageframe);
			jmessageframe.addClass('index_messageframe');
			if(messagetype == "message"){
				jmessageframe.addClass('index_messageframe_message');
			}
			else if(messagetype == "warning"){
				jmessageframe.addClass('index_messageframe_warning');
			}
			else if(messagetype == "error"){
				jmessageframe.addClass('index_messageframe_error');
			}else{
				jmessageframe.addClass('index_messageframe_message');
			}
			//创建消息框的table和tr
			var messagetb = document.createElement("table");
			var messagetr = document.createElement("tr");
			//创建消息标题框
			var messagetdtile = document.createElement("td");
			var jmessagetdtile = $(messagetdtile);
			jmessagetdtile.addClass('index_messagetitle');
			//判断不同的消息类型给消息加不同的td
			if(messagetype == "message"){
				jmessagetdtile.html('消息:');
			}
			else if(messagetype == "warning"){
				jmessagetdtile.html('警告:');
			}
			else if(messagetype == "error"){
				jmessagetdtile.html('错误:');
			}else{
				jmessagetdtile.html('消息:');
			}
			//创建消息内容框
			var messagecontent = document.createElement("td");
			var jmessagecontent = $(messagecontent);
			jmessagecontent.addClass('index_messagecontent');
			jmessagecontent.html(messagetext);
			//创建关闭按钮td
			var messageicon = document.createElement("td");
			var jmessageicon = $(messageicon);
			jmessageicon.addClass('index_messageicon');
			//创建关闭按钮
			var messageicona = document.createElement("a");
			var jmessageicona = $(messageicona);
			jmessageicona.attr('href','javascript:void(0)');
			jmessageicona.html("X");
			messageicon.appendChild(messageicona);
			messagetr.appendChild(messagetdtile);
			messagetr.appendChild(messagecontent);
			messagetr.appendChild(messageicon);
			messagetb.appendChild(messagetr);
			messageframe.appendChild(messagetb);
			var renderobj = document.getElementById(this.render);
			renderobj.appendChild(messageframe);
			this._onCloseMessageEvent(messageicona);
			this._onAutoCloseMessageEvent(messageicona);
		}
};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值