Вы используете это Сладкое оповещение ... Мой предыдущий ответ предполагал Сладкое оповещение 2 , что было неправильно.
Всегда полезно упомянуть ссылку на плагин, о котором вы спрашиваете.
Теперь я понимаю, что вы хотели бы иметь возможность использовать цвет фона при вызове экземпляра Swal. Это невозможно без реинжиниринга кода ядра.
Но я нашел трюк .
Определяя именованную функцию, которая устанавливает тайм-аут для изменения цвета наложения. Тайм-аут необходим, потому что мы не можем изменить его, пока он не существует (он создается динамически).
Так что моя идея сделать его простым в использовании - это также определить цветовой объект, который вы будете использовать для выбора цветов. И это облегчает чтение кода.
var SwalColors = {
red: "rgba(250, 50, 50, 0.45)",
green: "rgba(50, 250, 50, 0.45)",
blue: "rgba(0, 0, 255, 0.45)"
};
function SwalOverlayColor(color){
setTimeout(function(){
$(".swal-overlay").css({"background-color":SwalColors[color]});
},200);
}
SwalOverlayColor("blue");
swal({
title: "Are you sure?",
text: "Once deleted, you will not be able to recover this imaginary file!",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then((willDelete) => {
if (willDelete) {
SwalOverlayColor("red");
swal("Poof! Your imaginary file has been deleted!", {
icon: "success",
});
} else {
SwalOverlayColor("green");
swal("Your imaginary file is safe!");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/2.1.0/sweetalert.min.js"></script>
Итак, как вы можете видеть, первое наложение Swal - синее. Если вы нажмете «ОК», следующее наложение Swal будет красным… Иначе, если вы нажмете «Отмена», оно будет зеленым.
Вы можете определить столько цветов, сколько пожелаете, и обращаться к нему с помощью читаемого имени свойства ... Просто вызовите SwalOverlayColor()
с именем цвета в качестве аргумента прямо перед вызовом swal()
.
Это очень близко, чтобы иметь опцию в инициализации экземпляра ... Верно?