在做后台管理系统,在用户交互这块(弹窗、提示相关),用了一款还不错的插件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. C#调用Exe程序示例

    在编写程序时经常会使用到调用可执行程序的情况,本文将简单介绍C#调用exe的方法.在C#中,通过Process类来进行进程操作. Process类在System.Diagnostics包中. 示例一 ...

  2. 新疆大学OJ(ACM) 1099: 数列有序!

    1099: 数列有序! 时间限制: 1 Sec  内存限制: 128 MB 题目描述 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的 ...

  3. 【原创】Unable to read TLD "META-INF/c.tld" from JAR file 解决方法

    type Exception report message description The server encountered an internal error () that prevented ...

  4. Windows环境下使用Guard整合Compass和Livereload进行SASS的开发

    配置运行环境 Guard,Compass 和 Livereload 是 Ruby 的 Gem 套件,需要 Ruby 运行环境.另外还需要安装 Ruby 的扩展开发包 Development-Kit,以 ...

  5. 51nod-1134 最长递增子序列,用线段树将N^2的dp降到NlogN

    题目链接 给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10. Input 第1行 ...

  6. HDU 1010 Tempter of the Bone【DFS】

    学习剪枝的第一篇@_@学习别人的剪枝,一剪就是两天@_@---- 参看的这篇--http://blog.csdn.net/libin56842/article/details/8962512自己的小体 ...

  7. js闭包详解-转自好友trigkit4

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 闭包的特性 闭包有三个特性: 1.函数嵌套函数 2.函数内部可以引用外部的参数和变量 3.参数 ...

  8. 路飞学城Python-Day17

    [1.编程范式] 1.面向过程编程 2.面向对象编程 [2.面向过程编程] 面向过程:核心就是过程   什么是过程? 过程指的是解决问题的步骤,先做什么,在作什么,面向过程就像是设计一个流水线,是一种 ...

  9. BZOJ 3790 神奇项链(回文自动机+线段树优化DP)

    我们预处理出来以i为结尾的最长回文后缀(回文自动机的构建过程中就可以求出)然后就是一个区间覆盖,因为我懒得写贪心,就写了线段树优化的DP. #include<iostream> #incl ...

  10. docker-ce-17.03.2 离线安装RPM包

    [root@docker05 docker]# ll total 20796 -rw-r--r-- 1 root root    75032 Mar 26 23:52 audit-libs-pytho ...