js插件---弹出层sweetalert2

一、总结


sweetalert2的窗口美观,移动端适配也比较好,易学易用,是一款简单便捷的组件,值得学习!

SweetAlert2和SweetAlert的区别?

SweetAlert2是SweetAlert-js的升级版本,它解决了SweetAlert-js中不能嵌入HTML标签的问题,并对弹出对话框进行了优化,同时提供对各种表单元素的支持,还增加了5种情景模式的模态对话框。

SweetAlert2是一款功能强大的纯Js模态消息对话框插件。SweetAlert2用于替代浏览器默认的弹出对话框,它提供各种参数和方法,支持嵌入图片,背景,HTML标签等,并提供5种内置的情景类,功能非常强大。

二、SweetAlert2的使用教程(转)


转自:SweetAlert 2 全网最详细的使用方法
https://blog.csdn.net/dibr63585/article/details/102042483

官网地址:SweetAlert2 - a beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes
https://sweetalert2.github.io/

使用方法:

使用sweetalert对话框需要引入对应的js和css(如 sweetalert2.min.css 和 sweetalert2.min.js),因为里面的promise属性不支持ie11,所以也需要引入promise.min.js文件,而且改js必须依托jQuery,所以需要引入jquery.min.js。如下图 

<link rel="stylesheet" href="sweetalert/sweetalert2.min.css" />
<script type="text/javascript" src="jquery3.1.0/jquery-3.1.0.min.js"></script>
<script type="text/javascript" src="sweetalert/es6-promise.auto.js"></script>
<script type="text/javascript" src="sweetalert/sweetalert2.min.js"></script>

但是在网上下载的时候发现要不就是需要csdn积分,要不下载的就不能用,所以此处提供一个下载的链接:

https://www.bootcdn.cn/limonte-sweetalert2/

首先创建2个文件,一个是css文件,一个js文件,然后打开这个网站之后,找到自己想要版本的css和js,然后打开对应的链接,复制里面内容分别粘贴到自己创建的文件中即可使用,以测试。

基本用法:

最基本的使用方法是通过swal()来弹出一个对话框。

swal("Hello world!");

如果要弹出一个带情景模式的对话框,可以在的第二个参数中设置。

swal("Good job!", "You clicked the button!", "success");

swal(...)会返回一个Promise对象,该Promise对象中then方法中的isConfirm参数的含义如下:

  • true:代表Confirm(确认)按钮。
  • false:代表Cancel(取消)按钮。
  • undefined:代表按下Esc键,点击取消按钮或在对话框之外点击。

配置参数:

参数默认值描述
titlenull模态对话框的标题。它可以在参数对象的title参数中设置,也可以在swal()方法的第一个参数设置。
textnull模态对话框的内容。它可以在参数对象的text参数中设置,也可以在swal()方法的第二个参数设置。
htmlnull对话框中的内容作为HTML标签。如果同时提供texthtml参数,插件将会优先使用text参数。
typenull对话框的情景类型。有5种内置的情景类型:warningerrorsuccessinfoquestion。它可以在参数对象的type参数中设置,也可以在swal()方法的第三个参数设置。
customClassnull模态对话框的自定义class类。
animationtrue如果设置为false,对话框将不会有动画效果。
allowOutsideClicktrue是否允许点击对话框外部来关闭对话框。
allowEscapeKeytrue是否允许按下Esc键来关闭对话框。
showConfirmButtontrue是否显示“Confirm(确认)”按钮。
showCancelButtonfalse是否显示“Cancel(取消)”按钮。
confirmButtonText"OK"确认按钮上的文本。
cancelButtonText"Cancel"取消按钮上的文本。
confirmButtonColor"#3085d6"确认按钮的颜色。必须是HEX颜色值。
cancelButtonColor"#aaa"取消按钮的颜色。必须是HEX颜色值。
confirmButtonClassnull确认按钮的自定义class类。
cancelButtonClassnull取消按钮的自定义class类。
buttonsStylingtrue为按钮添加默认的swal2样式。如果你想使用自己的按钮样式,可以将该参数设置为false。
reverseButtonsfalse如果你想反向显示按钮的位置,设置该参数为true。
showLoaderOnConfirmfalse设置为true时,按钮被禁用,并显示一个在加载的进度条。该参数用于AJAX请求的情况。
preConfirmnull在确认之前执行的函数,返回一个Promise对象。
imageUrlnull为模态对话框自定义图片。指向一幅图片的URL地址。
imageWidthnull如果设置了imageUrl参数,可以为图片设置显示的宽度,单位像素。
imageHeightnull如果设置了imageUrl参数,可以为图片设置显示的高度,单位像素。
imageClassnull自定义的图片class类。
timernull自动关闭对话框的定时器,单位毫秒。
width500模态窗口的宽度,包括padding值(box-sizing: border-box)。
padding20模态窗口的padding内边距。
background"#fff"模态窗口的背景颜色。
inputnull表单input域的类型,可以是"text", "email", "password", "textarea", "select", "radio", "checkbox" 和 "file"。
inputPlaceholder""input域的占位符。
inputValue""input域的初始值。
inputOptions{} 或 Promise如果input的值是selectradio,你可以为它们提供选项。对象的key代表选项的值,value代表选项的文本值。
inputAutoTrimtrue是否自动清除返回字符串前后两端的空白。
inputValidatornull是否对input域进行校验,返回Promise对象。
inputClassnull自定义input域的class类。
参数默认值描述

可以使用swal.setDefaults(customParams)方法来覆盖默认的参数,customParams是一个对象。

方法:

方法描述
swal.setDefaults({Object})当你在使用SweetAlert2时有大量的自定义参数,可以通过swal.setDefaults({Object})方法来将它们设置为默认参数。
swal.resetDefaults()重置设置的默认值。
swal.queue([Array])提供一个数组形式的SweetAlert2参数,用于显示多个对话框。对话框将会一个接一个的出现。
swal.close() 
或 swal.closeModal()
以编程的方式关闭当前打开的SweetAlert2对话框。
swal.enableButtons()确认和关闭按钮可用。
swal.disableButtons()禁用确认和关闭按钮。
swal.enableLoading() 
或 swal.showLoading()
禁用按钮并显示加载进度条。通常用于AJAX请求。
swal.disableLoading() 
或 swal.hideLoading()
隐藏进度条并使按钮可用。
swal.clickConfirm()以编程的方式点击确认按钮。
swal.clickCancel()以编程的方式点击取消按钮。
swal.showValidationError(error)显示表单校验错误信息。
swal.resetValidationError()隐藏表单校验错误信息。
swal.enableInput()使input域可用。
swal.disableInput()

禁用input域。

三、弹出层sweetalert2的示例

转自:SweetAlert 2 全网最详细的使用方法
https://blog.csdn.net/dibr63585/article/details/102042483

把 js 复制出来 自己新建一个文件 然后 引用到 html 中

1. 带有 确定和取消的 弹框

Swal.fire({
    type: 'warning', // 弹框类型
    title: '注销帐号', //标题
    text: "注销后将无法恢复,请谨慎操作!", //显示内容            
    confirmButtonColor: '#3085d6',// 确定按钮的 颜色
    confirmButtonText: '确定',// 确定按钮的 文字
    showCancelButton: true, // 是否显示取消按钮
    cancelButtonColor: '#d33', // 取消按钮的 颜色
    cancelButtonText: "取消", // 取消按钮的 文字
    focusCancel: true, // 是否聚焦 取消按钮
    reverseButtons: true  // 是否 反转 两个按钮的位置 默认是  左边 确定  右边 取消
}).then((isConfirm) => {
    try {
        //判断 是否 点击的 确定按钮
        if (isConfirm.value) {
            Swal.fire("成功", "点击了确定", "success");
        }
        else {
            Swal.fire("取消", "点击了取消", "error");
        }
    } catch (e) {
        alert(e);
    }
});

2.带有 展示 标签内容 的弹框

 

var content = "无记录";
var msg=""; //msg 是从外面传入的数据
if (msg) {
    content = "<p style='color: red'>最近一次操作后的5小时内有效</p> "
        + "<p>可以使用 Ctrl +F 查找关键字</p>"
        + "<table class='table_list'>"
        + "<tr>"
        + "     <th class='js_tr_data'> 时间</th> <th>名称</th> <th>密码</th>"
        + "</tr>"
        + msg
        + "</table>"
}
Swal.fire({
    title: '<strong>记录</strong>',
    type: 'info',
    html: content, // HTML
    focusConfirm: true, //聚焦到确定按钮
    showCloseButton: true,//右上角关闭
})

3.带有定位 和 消失时间的 弹框

Swal.fire({
  position: 'top-end', //定位 左上角
  type: 'success',
  title: 'Your work has been saved',
  showConfirmButton: false,
  timer: 1500
})

4. 自定义 第三方 css 的 弹框 (推荐使用 Animate.css )

Swal.fire({
  title: 'Custom animation with Animate.css',
  animation: false,
  customClass: 'animated tada'
})

5. 右上角 通知类 弹窗

Swal.fire({
    toast: true,
    position: 'top-end',
    showConfirmButton: false,
    timer: 3000,
    type: 'success',
    title: 'Signed in successfully'
})

6. 如何做一个自己的 通用模版

//定义模版 (可多次使用)
var MyBox = Swal.mixin({
    toast: true,
    position: 'top-end',
    showConfirmButton: false,
    timer: 3000
});
//调用
MyBox.fire({
    type: 'success',
    title: 'successfully'
});

四、弹出层sweetalert2的效果图

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值