修改网页的alert弹框样式让你的页面更美观(js封装之路(1.1))

由于页面中原来的alert弹框样式相当的丑,所以就想到了自己去设置一下alert的弹框样式

首先是自己先设计好一个弹框的样式可以如下图:

样式搭建完成就可以用js来编写一个alert函数了:

js部分如下:

function alert(e){
 //此处将html中的div等元素拼接起来,添加到body中
    var html="";
    	html+="<div class='con'><div id='msg'>";
    	html+="<div class='info_message'>";
    	html+="<div class='alertTitle'>提示</div>";
    	html+="<span class='detail_message'>"+e+"</span>";
    	html+="</div><div id='alertSure'>确定</div>";
    	html+="<div id='alertCancel'>取消</div></div></div>"
    $('body').append(html);
    clearmsg();
}
function clearmsg(){
//确认按钮
    $('#alertSure').click(function(){
    	$("#msg").remove();
    	$('.con').remove();
    })
//取消按钮
    $('#alertCancel').click(function(){
    	$("#msg").remove();
    	$('.con').remove();
    })
};

将这个js引用,前提要添加jq的框架在此js前面要不$符号和一些方法会报错,有兴趣的可以用原生js来操作

下面贴一下我的代码,有兴趣的同学可以看下效果

html:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>alert样式修改</title>
	<link rel="stylesheet" href="alert.css">
	<script src="jquery-1.11.3.min.js"></script>
	<script src="alert.js"></script>
</head>
<body>
这是我自己编写的样式div后面放到js中了,此处是注释掉的
<!-- <div class="con">
	<div id='msg'>
		<div class="info_message">
			<div class="alertTitle"></div>
			<span class="detail_message">
				显示信息显示信息
			</span>
		</div>
		<div id="alertSure">确定</div>
		<div id="alertCancel">取消</div>
	</div>
</div> -->

<script>

	 alert('测试');
</script>
			

</body>
</html>
css:

html,body{height:100%;}
	.con{
		width:100%;
		height:100%;
		background:rgba(0,0,0,.1);
		position:relative;
	}
	#msg{
		position:absolute;
		top:30%;
		left:35%;
	}
	.info_message {
	    color: #000;
	    background:#fff;
	    height: 200px;
	    display: inline-block;
	    width:400px;
	    border-radius: 5px;
	}
	#alertSure,#alertCancel{
		position:absolute;
	    top: 75%;
	    left: 46%;
	    width: 90px;
	    height: 40px;
	    text-align: center;
	    line-height: 40px;
	    background: #2e9cce;
	    color: #fff;
	    cursor:pointer;
	    border-radius:5px;
	}
	#alertSure{
	    top: 75%;
	    left: 46%;
	}
	#alertCancel{
	    top: 75%;
	    left: 74%;   
	}
	.detail_message{
		width:350px;
		height:115px;
		text-align:center;
		overflow: hidden;
		display:inline-block;
		padding:10px;
		margin-left:15px;
		color:#2b9bc5;
	}
	#alertSure:hover,#alertCancel:hover{
			background:rgba(118, 206, 247, 0.88);
	}
	.alertTitle{
		height:30px;
		background:rgb(114, 209, 255);
	}
js部分:

function alert(e){
    // $("body").append("<div id='msg'><span>"+e+"</span></div>");
    var html="";
    	html+="<div class='con'><div id='msg'>";
    	html+="<div class='info_message'>";
    	html+="<div class='alertTitle'>提示</div>";
    	html+="<span class='detail_message'>"+e+"</span>";
    	html+="</div><div id='alertSure'>确定</div>";
    	html+="<div id='alertCancel'>取消</div></div></div>"
    $('body').append(html);
    clearmsg();
}
function clearmsg(){
    // var t = setTimeout(function(){
    //     $("#msg").remove();
    // },2000)
    $('#alertSure').click(function(){
    	$("#msg").remove();
    	$('.con').remove();
    })
    $('#alertCancel').click(function(){
    	$("#msg").remove();
    	$('.con').remove();
    })
};




组件名称:ymPrompt消息提示组件 2.0 =============================================================================== 组件说明:在web开发中,对于浏览器默认的消息提示(如alert,confirm等)外观无法控制,为了实现好的界面效果,于是模拟系统的消息提示实现了该组件。在外观上可以通过css进行完全的控制。 =============================================================================== 组件功能介绍: 1、调用方式简单,直接使用ymPrompt.alert()的方式调用,传入相应的参数即可。 2、兼容IE6.0+、FF1.5+、Opear9+(在Opear下显示有一个小缺陷),兼容HTML4/XHTML1.0页面渲染模式。 3、完全的CSS皮肤定制功能,所有外观包括显示图标/关闭按钮等都可以通过css设置。目前提供了五种皮肤,Vista、QQ、dmm-green、ExtBlue和BlackColl。有兴趣可以修改样式表文件定义新的皮肤。 4、提供四种消息类型。分别为消息提示、成功信息、错误信息、询问信息。 5、出消息时屏蔽页面其它元素的操作,自动隐藏页面select及iframe下select(无限级select隐藏),并遮罩iframe等元素。 6、页面select控件状态还原时保持原状态,即如果原来select就是隐藏的,则消息出并关闭后该select仍保持隐藏状态,而只显示原本显示的select。 7、消息组件出时屏蔽除Tab和回车外的几乎所有键盘操作(包括F5),“消息确认”支持“tab键/左右方向键”切换确定/取消焦点。 8、可以页面加载的任意时间调用,如页面初始化时调用,页面加载完成后调用。 9、支持通过JSON和传统的参数传入方式。如ymprompt.alert('消息内容',300,200,'消息标题',handler)和ymprompt.alert({message:'消息内容',width:300,height:200,title:'消息标题',handler:handler}),这两种写法是等价的。 10、只需要一个回调函数,可捕获确定、取消及关键按钮的点击事件。函数改变了1.0版需要对确定和取消按钮分别写回调函数及不支持关闭事件的缺陷, 11、完全的封装,对外只暴露一个ymPrompt变量,有效防止与使用者程序变量的冲突。 12、程序(js)与样式(css)的完全分离,取消了1.0中自动加载css的功能,用户可根据需要加载对应css样式表单,降低了对样式配置的复杂度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值