利用SweetAlert2取代浏览器的Alert和Confirm提示框

我们做前端通常会用到提示框或者确认框,比较简单直接的就用JS自带的alert或者confirm方法,但是这种提示框会因为浏览器的不同,而出现各种样式,并且不太美观,如Chrome的就是:

 不但出现在浏览器顶部,还带有网址,用户体验非常差,今天我们就用SweetAlert2这个库,取代这个难看的提示框,先来看看效果:

是不是瞬间高大上了,废话不多说,上代码:

    <script src="//cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.js"></script>
    <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.css" />

 加入库引用。

//提示框
function sweetAlert(title, icon) {
    Swal.fire({
        title: title,
        icon: icon,
        confirmButtonColor: '#208ADB',
        confirmButtonText: '确定',
    })
}

//确认提示框
function sweetAlertConfirm(btn, title, content) {
    if (btn.dataset.confirmed) {
        btn.dataset.confirmed = false;
        return true;
    } else {
        event.preventDefault();
        Swal.fire({
            title: title,
            text: content,
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#208ADB',
            cancelButtonColor: '#626F75',
            confirmButtonText: '确定',
            cancelButtonText: '取消'
        }).then((result) => {
            if (result.isConfirmed) {
                btn.dataset.confirmed = true;
                btn.click();
            }
        })
    }
}

//复写自带alert
function alert(title) {
    sweetAlert(title, "info");
}

上面是配置代码,下面是调用:

        <a href="javascript:;" onclick="sweetAlert('这是提示标题','info');">提示</a>

        <a href="http://www.mojocube.com/" onclick="sweetAlertConfirm(this,'确定跳转吗?','');">跳转</a>

好了,这样就完成了,是不是很简单,下面附上demo源码下载地址:

利用SweetAlert2取代浏览器的Alert和Confirm提示框-Javascript文档类资源-CSDN下载

如果要改默认字体大小和提示框的层级(比如会被某些遮罩挡住),可以通过修改css实现:

        .swal2-title{font-size:12pt !important;}
        .swal2-container{ z-index:999999 !important;}

PS: 下面是不同类型图标的代码:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值