在做后台管理系统,在用户交互这块(弹窗、提示相关),用了一款还不错的插件SweetAlert(一款原生js提示框,允许自定义,支持设置提示框标题、提示类型、确认取消按钮文本、点击后回调函数等等), 效果挺好的,简单写一下用法。
把大象装冰箱,总共分三步:

第一步:下载(引用)
有三种方式可供选择:
1.通过bower安装:

$ bower install sweetalert

2.通过npm安装

$ npm install sweetalert

3.我用的是最简单粗暴的方式3:

下载sweetAlert的CSS和JavaScript文件。地址点我
从github上拿下来的sweetalert-master是有带例子的,我们只需要其中两个文件:
dist下的sweetalert.min.js和sweetalert.css(下面引用路径是我自己的)。

<script src="js/sweetalert.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/sweetalert.css"/>

第二步: 需要在页面加载完成后调用sweetalert函数:
swal({
title: "OK!",
text: "Nice to meet you!",
type: "success",
confirmButtonText: "HaHa"
})

第三步,就是写需要实现的具体功能了。下面,我来举几个栗子(代码直接从编辑器拿过来,模态框的图懒得贴了,效果可以自己试试。):
html代码:
基本信息:<button id="demo1">试一试</button> <br />

带有文字的标题:<button id="demo2">试一试</button> <br />

成功提示:<button id="demo3">试一试</button> <br />

带有“确认”按钮的功能的警告消息:<button id="demo4">试一试</button> <br />

通过传递参数,您可以执行一些其他的事情比如“取消”。:<button id="demo5">试一试</button> <br />

一个有自定义图标的消息:<button id="demo6">试一试</button> <br />

自定义HTML信息:<button id="demo7">试一试</button> <br />

自动关闭模态框:<button id="demo8">试一试</button> <br />

更换“提示”功能: <button id="demo9">试一试</button> <br />

使用加载程序(例如,用于AJAX请求): <button id="demo10">试一试</button> <br />

js代码(原谅我可耻的用了原生):

 document.getElementById("demo1").onclick = function() {
swal("这是一个信息提示框!")
}; document.getElementById("demo2").onclick = function() {
swal("这是一个信息提示框!", "很漂亮,不是吗?")
}; document.getElementById("demo3").onclick = function() {
swal("干得好", "你点击了按钮!", "success")
}; document.getElementById("demo4").onclick = function() {
swal({
title: "你确定?",
text: "您将无法恢复这个虚构的文件!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "是的,删除!",
closeOnConfirm: false
}, function() {
swal("删除!", "您的虚构文件已被删除!", "success")
})
}; document.getElementById("demo5").onclick = function() {
swal({
title: "你确定?",
text: "您将无法恢复这个虚构的文件!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "是的,删除!",
cancelButtonText: "不,取消",
closeOnConfirm: false,
closeOnCancel: false
}, function(isConfirm) {
if (isConfirm) {
swal("删除!", "您的虚构文件已被删除!", "success")
} else{
swal("取消!", "您的虚构文件是安全的!", "error")
}
})
}; document.getElementById("demo6").onclick = function() {
swal({
title: "Sweet!",
text: "这里是自定义图像!",
imageUrl: "img/thumbs-up.jpg"
})
}; document.getElementById("demo7").onclick = function() {
swal({
title: "HTML <small>标题</small>!",
text: "A custom <span style='color:pink'>html<span> message.",
html: true
})
}; document.getElementById("demo8").onclick = function() {
swal({
title: "自动关闭警报!",
text: "2秒后自动关闭",
timer: 2000,
showConfirmButton: false
})
}; document.getElementById("demo9").onclick = function() {
swal({
title: "请输入!",
text: "填写一些信息",
type: "input",
showCancelButton: true,
closeOnConfirm: false,
animation: "slide-from-top",
inputPlaceholder: "请输入..."
}, function(inputValue) {
if (inputValue === false) {
return false;
}
if (inputValue === "") {
swal.showInputError("内容不能为空!");
return false;
} swal("Nice!", "你输入的是:" + inputValue, "success")
})
}; document.getElementById("demo10").onclick = function() {
swal({
title: "AJAX请求实例",
text: "提交运行Ajax请求",
type: "info",
showCancelButton: true,
closeOnConfirm: false,
showLoaderOnConfirm: true
}, function() {
setTimeout(function() {
swal("AJAX请求完成!");
}, 2000)
})
};

下面说一些可能会频繁使用的配置项:

好啦,就这样吧。其实sweetalert2也已经出了,支持响应式,功能也更加强大,但本着够用就好的原则,还是先用的第一版。

参考:
源地址:http://t4t5.github.io/sweetalert/

中文:http://mishengqiang.com/sweetalert/

github地址:https://github.com/t4t5/sweetalert

SweetAlert的入门的更多相关文章

  1. 《Spring Boot 入门及前后端分离项目实践》系列介绍

    课程计划 课程地址点这里 本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发 ...

  2. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  3. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  4. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  5. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  6. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  7. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  8. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  9. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

随机推荐

  1. luogu 2869 挑剔的美食家

    Gourmet Grazers 传送门 题目大意 约翰的奶牛对食物越来越挑剔了.现在,商店有\(M\) 份牧草可供出售,奶牛食量很大,每份牧草仅能供一头奶牛食用.第\(i\) 份牧草的价格为\(P_i ...

  2. 用latex写简历

    最近终于逐渐掌握了用Latex写中文简历的问题.首先就是必须基于交大前辈bin yuan的模板进行学习. 如果有了一般论文撰写和Beamer做PPT的经验,不难发现resume的模板也是遵循一套程式的 ...

  3. Concurrency pattern

    In software engineering, concurrency patterns are those types of design patterns that deal with the  ...

  4. Python3基础笔记---面向对象

    只是对一些新的知识的记录 1.创建类 class ClassName: <statement-1> . . . <statement-N> 类实例化后,可以使用其属性,实际上, ...

  5. idea运行提示Error:java:无效的源发行版:1.9

    如果你是jdk1.8 改到8即可,如图:

  6. LightOJ-1074 Extended Traffic 最短路问题 注意连通性

    题目链接:https://cn.vjudge.net/problem/LightOJ-1074 题意 给一图 求最短路 若最短路<3或没有最短路,则输出'?' 思路 首先注意到可能存在负环,所以 ...

  7. BZOJ 2794 [Poi2012]Cloakroom(离线+背包)

    2794: [Poi2012]Cloakroom Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 406  Solved: 241[Submit][St ...

  8. Object-C,NSURL,统一资源定位器

    今天晚上最后一个例子,写完休息娱乐一会. URL,统一资源定位器,可以定位网络上的一个资源. 没啥难的,还是对象.方法.API.和Java等语言没有啥区别. 不亲自一点点写一遍,印象不深,今后进一步深 ...

  9. 题解 LNOI2014 LCA

    题目:传送门 这道题根本不用lca,也没有部分分... 考虑求两个点xy的lca的深度. 我们将x到树根所有点的值都加1,然后查询y到根的和,其实就是lca的深度. 所以本题离线一下上树剖乱搞就可以了 ...

  10. 2015 Multi-University Training Contest 3 hdu 5326 Work

    Work Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...