alert提示框由于外观不太友好,所以一般都不用alert了。

  我在这里使用bootstrap的样式,写了一个可以单独显示消息,也可以确认取消的提示框,确认,取消的采用模式对话框方式,用一个div遮盖了后面所有内容。

  使用的外观如下:

  一:单独显示消息:

  

  二:确认和取消:

  

  单独显示消息的方法传递类型,信息,显示时间以及回掉函数。其中通过重载可以只传递信息。

  确认和取消的方法传递类型,信息以及回掉函数。其中可以通过重载可以只传递信息和确认后执行的回掉函数。如果点击取消就去隐藏该提示框。

  下面是这个提示框的js代码:

  

 //success   成功
//info 信息
//warning 警告
//danger 错误!
function alertBox(type, msg, showTime, callBack) {
var divCss = "alert alert-" + type + " alert-dismissable";
if (showTime == null) showTime = 3000;
var divAlertBox;
if ($("#divAlertBox").length != 0) {
$("#divAlertBox span").text(msg);
divAlertBox = $("#divAlertBox");
divAlertBox.removeClass().addClass(divCss).slideDown(1000);
box(divAlertBox);
} else {
divAlertBox = $("<div id='divAlertBox' style='display:none;position:fixed;z-index:9999;' class='" + divCss + "'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button><span>" + msg + "</span></div>");
$("body").append(divAlertBox);
divAlertBox.slideDown(1000);
box(divAlertBox);
}
setTimeout(function () {
divAlertBox.fadeOut(1000);
if (callBack != null) {
callBack();
}
}, showTime);
} function alertSuccess(msg, showTime, callBack) {
alertBox("success", msg, showTime, callBack);
} function alertInfo(msg, showTime, callBack) {
alertBox("info", msg, showTime, callBack);
} function alertWarning(msg, showTime, callBack) {
alertBox("warning", msg, showTime, callBack);
} function alertDanger(msg, showTime, callBack) {
alertBox("danger", msg, showTime, callBack);
} //必传入回掉函数
function confirmBox(type, msg, callBack) {
var divCss = "alert alert-" + type;
var divConfirmBox;
if ($("#divConfirmBox").length != 0) {
var divConfirmBoxCover = $("#divConfirmBoxCover");
divConfirmBoxCover.show();
$("#divConfirmBox span").text(msg);
divConfirmBox = $("#divConfirmBox");
divConfirmBox.removeClass().addClass(divCss).slideDown(1000);
divConfirmBox.find("button:first")[0].onclick = callBack;
box(divConfirmBox);
} else {
var divConfirmBoxCover = $("<div id='divConfirmBoxCover' style='position:fixed;top:0px;left:0px;z-index:9998;width:100%;height:100%;'><div>");
divConfirmBox = $("<div id='divConfirmBox' style='display:none;position:fixed;z-index:9999;' class='" + divCss + "'><span>" + msg + "</span><br/></div>");
var btnYes = $("<button style='margin-top:20px;margin-right:50px;' type='button' class='btn btn-warning'>确定</button>");
var btnNo = $("<button style='margin-top:20px;float:right;' type='button' class='btn btn-primary' onclick='confirmBoxHide()'>取消</button>");
btnYes[0].onclick = callBack;
divConfirmBox.append(btnYes).append(btnNo);
$("body").append(divConfirmBox).append(divConfirmBoxCover);
divConfirmBox.slideDown(1000);
box(divConfirmBox);
}
} function confirmSuccess(msg, callBack) {
confirmBox("success", msg, callBack);
} function confirmInfo(msg, callBack) {
confirmBox("info", msg, callBack);
} function confirmWarning(msg, callBack) {
confirmBox("warning", msg, callBack);
} function confirmDanger(msg, callBack) {
confirmBox("danger", msg, callBack);
} function confirmBoxHide() {
$("#divConfirmBox").fadeOut(1000);
$("#divConfirmBoxCover").hide();
} function box(jqObj) {
//获取DIV为‘box’的盒子
var oBox = jqObj[0];
//获取元素自身的宽度
var L1 = oBox.clientWidth;
//获取元素自身的高度
var H1 = oBox.clientHeight;
//获取实际页面的left值。(页面宽度减去元素自身宽度/2)
var Left = (document.documentElement.clientWidth - L1) / 2;
//获取实际页面的top值。(页面宽度减去元素自身高度/2)
var top = (document.documentElement.clientHeight - H1) / 4;
oBox.style.left = Left + 'px';
oBox.style.top = top + 'px';
}

  然后是测试页面的代码,记得引用1.10以上的jQuery和bootstrap.min.css,bootstrap.min.js。

  这里是将上面的JS代码单独放在一个js文件中,然后引用,加了那么多<br/>是为了观看滚动的效果——提示框是否会跟着移动。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>

    <link href="NewFolder1/bootstrap.min.css" rel="stylesheet" />
    <script src="NewFolder1/jquery-1.11.1.min.js"></script>
    <script src="NewFolder1/bootstrap.min.js"></script>
    <script src="JavaScript1.js"></script>

</head>
<body>
<input type="button" name="name" value="alertSuccess" onclick="alertSuccess('提示信息:成功!')" />
<input type="button" name="name" value="alertInfo" onclick="alertInfo('提示信息:成功!')" />
<input type="button" name="name" value="alertWarning" onclick="alertWarning('提示信息:警告!')" />
<input type="button" name="name" value="alertDanger" onclick="alertDanger('提示信息:危险!')" />
<br />
<input type="button" name="name" value="confirmSuccess" onclick="confirmSuccess('提示信息:成功!', function () { window.location = 'http://www.cnblogs.com/xueyeduling/p/6833034.html'; })" />
<input type="button" name="name" value="confirmInfo" onclick="confirmInfo('提示信息:成功!' ,function () { window.location='http://www.cnblogs.com/xueyeduling/p/6833034.html' ; })" />
<input type="button" name="name" value="confirmWarning" onclick="confirmWarning('提示信息:警告!' ,function () { window.location='http://www.cnblogs.com/xueyeduling/p/6833034.html' ; })" />
<input type="button" name="name" value="confirmDanger" onclick="confirmDanger('提示信息:危险!' ,function () { window.location='http://www.cnblogs.com/xueyeduling/p/6833034.html' ; })" />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</body>
</html>

替代alert的消息框和提示框的更多相关文章

  1. js三种消息框总结-警告框、确认框、提示框

    js消息框类别:警告框.确认框.提示框 警告框:alert("文本"); 确认框:confirm("文本"); 提示框:prompt("文本" ...

  2. JS_Window-三种消息框:警告框、确认框、提示框、页面显示时间-计时-延时

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  3. JS组件系列——Bootstrap寒冬暖身篇:弹出框和提示框效果以及代码展示

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...

  4. Bootstrap:弹出框和提示框效果以及代码展示

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...

  5. JS组件Bootstrap实现弹出框和提示框效果代码

    这篇文章主要介绍了JS组件Bootstrap实现弹出框和提示框效果代码,对弹出框和提示框感兴趣的小伙伴们可以参考一下 前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编 ...

  6. Bootstrap篇:弹出框和提示框效果以及代码展示

     前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你 ...

  7. uwp - ContentDialog - 自定义仿iphone提示框,提示框美化

    原文:uwp - ContentDialog - 自定义仿iphone提示框,提示框美化 为了实现我想要的效果花费了我很长时间,唉,当初英语不好好学,翻官网翻了半天才找到,分享给刚入门的新手. 首先看 ...

  8. JavaScript 中创建三种消息框:警告框、确认框、提示框。

    网址:http://www.w3school.com.cn/js/js_popup.asp 警告框 警告框经常用于确保用户可以得到某些信息. 当警告框出现后,用户需要点击确定按钮才能继续进行操作. 语 ...

  9. 可以替代alert 的漂亮的Js弹框

    1 基本弹框 2确认框 3又一种确认框 4带返回的弹框 5带返回的探矿 6 6 一切尽在 http://t4t5.github.io/sweetalert/

随机推荐

  1. How To Manage StartUp Applications In Ubuntu

    Ever felt the need to control startup applications in Ubuntu? You should, if you feel that your Ubun ...

  2. android OrmLite

    最近在使用ormlite框架进行数据库的操作,下面简单的写个demo来学习下 1.下载jar包 这里使用的是ormlite-core-5.0.jar 和 ormlite-android-5.0.jar ...

  3. String和StringBuffer有什么区别

    首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...

  4. php foreach 报 “Cannot create references to elements of a temporary array expression”

    今天在项目中用php foreach数据库查询结果时,为了方便没有判断数据是否存在,直接用(array)强制转换数据时,刚开始网页始终打不开,就报502,一头懵,突然间php报“Cannot crea ...

  5. 2 模拟登录_Post表单方式(针对chinaunix有效,针对csdn失效,并说明原因)

    参考精通Python网络爬虫实战 首先,针对chinaunix import urllib.request #原书作者提供的测试url url="http://bbs.chinaunix.n ...

  6. MySQL事务管理

    事务就是一组原子性的SQL查询,或者说一个独立的工作单元.如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组的全部语句,如果其中有任何一条语句因为崩溃或者其他原因无法执行,那么所有 ...

  7. spring boot(5)-properties参数配置

     application.properties application.properties是spring boot默认的配置文件,spring boot默认会在以下两个路径搜索并加载这个文件 s ...

  8. 利用.NET Core类库System.Reflection.DispatchProxy实现简易Aop

    背景 Aop即是面向切面编程,众多Aop框架里Castle是最为人所知的,另外还有死去的Spring.NET,当然,.NET Core社区新秀AspectCore在性能与功能上都非常优秀,已经逐渐被社 ...

  9. 使用JSONP彻底解决Ajax跨域访问Cookie Session的方案

    最近做开发时要把图片文件放到另外一台服务器上(另外一个域名),因为这样分布式存放,网站打开速度会快很多.而我采用AJAX获取图片服务器上某用户的图片时遇到了问题,按照通常的方式无法获取信息,得到的Co ...

  10. 添加PHP扩展模块

    php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译php,因为耗时是比较长的.我们可不可以在不重新编译安装php的情况下,来为php单独添加某一个模块呢?查找资料,发现还是有 ...