系统自带的 alert confirm 弹窗 能阻塞进程,功能非常强大,但是样式受到限制,不能与项目的样式搭配。所以在具体项目中可能需要自定义弹窗。具体做法显示一个高度宽度百分之百的背景遮罩,然后在屏幕中间显示一个div,虽然不能做到与alert,confirm一样阻塞进程,但是也可以实现类似效果
<!-- 宽高百分之百的背景遮罩 -->
<div class="mask-div"></div>
<!-- 提示弹出框 -->
<div class="alert-dialog">
<div class="alert-title clearfix">
<span>提示信息</span>
<img th:src="@{/images/department/closed.png}" alt=""/>
</div>
<div class="alert-show clearfix">
<div class="alert-content clearfix">
</div>
</div>
<!-- 确定按钮 -->
<div class="alert-btn clearfix">
<button class="btn btn-default">确定</button>
</div>
</div>
<!-- 选择弹出框 -->
<div class="option-dialog">
<div class="option-title clearfix">
<span>提示信息</span>
<img th:src="@{/images/department/closed.png}" alt=""/>
</div>
<div class="option-show clearfix">
<div class="option-content clearfix">
</div>
</div>
<!-- 确定按钮 -->
<div class="option-btn clearfix">
<button class="btn btn-default sure">确定</button>
<button class="btn btn-default cancle">取消</button>
</div>
</div>
// 警告弹窗关闭
$('.alert-dialog .alert-title img').on('click',function(){
$('.mask-div').css('display', 'none');
$('.alert-dialog').css('display', 'none');
});
//警告弹窗关闭
$(".alert-btn button").on("click",function()
{
$('.mask-div').css('display', 'none');
$('.alert-dialog').css('display', 'none');
});
//选择弹窗关闭
$('.option-dialog .option-title img').on('click',function(){
closeConfirm();
});
//选择弹窗关闭
$(".option-btn .cancle").on("click",function()
{
closeConfirm();
});
//提示框
function alertShow(msg)
{
$('.mask-div').css('display', 'block');
$('.alert-dialog').css('display', 'block');
$(".alert-content").text(msg);
letDivCenter('.alert-dialog');
}
//选择框
function confirmShow(msg,obj,fn)
{
$('.mask-div').css('display', 'block');
$('.option-dialog').css('display', 'block');
$(".option-content").text(msg);
letDivCenter('.option-dialog');
$(".option-btn .sure").bind("click",obj,fn); //点击确定后续事件绑定
}
function closeConfirm()
{
$('.mask-div').css('display', 'none');
$('.option-dialog').css('display', 'none');
$(".option-btn .sure").unbind(); //关闭弹窗,解除事件绑定
}
//让指定的DIV始终显示在屏幕正中间
function letDivCenter(divName){
var top = ($(window).height() - $(divName).height())/2;
var left = ($(window).width() - $(divName).width())/2;
var scrollTop = $(document).scrollTop();
var scrollLeft = $(document).scrollLeft();
$(divName).css( { position : 'absolute', 'top' : top + scrollTop, left : left + scrollLeft } ).show();
}
具体做法
//点击组织架构删除
$(".subdivision").on("click",".delete",function()
{
var _self=$(this);
if(_self.data("deptId") == null)
{
alertShow("该节点不允许删除");
return;
}
confirmShow("确认删除?",_self,function()
{
$.ajax({
url:"/department/deldepartment",
type:"post",
data:{departmentId:_self.data("deptId")},
success:function(data)
{
closeConfirm();
if(data == "Y")
{
_self.parent().parent().remove();
updateTree(); //跟新收缩图标显示隐藏
}
else
{
alertShow("请确认子部门是否已经清空");
}
}
});
});
});
如图
点击组织架构删除,调用confirmShow 第一个参数是需要展示的字符串“确认删除?”,第二个参数是需要传递的参数obj(也可用data={}),第三个参数是一个函数fn,用来绑定确定按钮点击事件。即点击确定会执行fn,入参obj
- 大小: 27.9 KB
分享到:
相关推荐
2. Confirm弹窗: Confirm对话框则提供了一种让用户进行是/否选择的方式。它有两个按钮:“确定”和“取消”。`window.confirm()`函数可以创建这样的对话框,例如: ```javascript var result = window.confirm(...
在网页开发中,提供用户交互反馈是至关重要的,而`alert`和`confirm`弹窗则是最基础的交互方式之一。然而,原生JavaScript的`alert`和`confirm`功能较为简单,样式单一,不能满足现代网页设计的需求。这就催生了第三...
在`msg.js`中,开发者可能通过事件监听和DOM操作来模拟`alert`和`confirm`的行为,当用户点击自定义对话框的按钮时,触发相应的回调函数,并返回预期的布尔值。 实现这样的功能通常涉及以下步骤: 1. 创建HTML结构...
首先,我们不再直接使用`window.alert()`和`window.confirm()`方法,而是创建自定义的HTML结构来模拟这些对话框。创建一个包含消息内容、按钮等元素的模态框(modal),并将其隐藏,当需要弹出时通过JavaScript显示...
为了美化`alert`和`confirm`,开发者通常会使用自定义的模态窗口(modal)或者插件库,如Bootstrap的Modal、SweetAlert等。这些方法允许我们完全控制对话框的布局、颜色、字体、图标等元素,实现与网页整体风格一致...
SweetAlert是一个可自定义的、优雅的JavaScript警告对话框,它替代了浏览器原生的alert、confirm和prompt函数。这个库的设计理念是让弹窗更加友好,更符合现代网页的审美需求。在"压缩包子文件的文件名称列表"中提到...
自定义样式的alert,confirm窗口,可连续弹窗
原生的弹窗如JavaScript的`alert()`、`prompt()`和`confirm()`函数虽然简单易用,但它们的样式和功能往往有限。因此,开发人员经常需要创建自定义的模拟弹窗控件来提升用户体验,这些控件可以拥有更丰富的设计、交互...
可以直接调用,操作方便,调用代码如下: jConfirm('Can you confirm this,<span am red.</span>?', 'Confirmation Dialog', function(r) { });
例如,可以创建一个`<div>`,并添加类名如`.custom-alert`、`.custom-confirm`和`.custom-loading`。 2. CSS样式:为每个弹窗类添加样式,包括位置、大小、颜色、边框、背景等,确保它们在页面上正确显示。加载框...
在网页开发中,为了增强用户体验和交互性,我们经常需要使用到各种弹出框,如确认对话框(Confirm)、警告对话框(Alert)以及自定义的弹出框。本示例主要关注的是“自制confirm弹出框”,这是一种自定义的删除确认...
本文将深入探讨如何使用原生JS创建类似`alert()`的自定义弹窗效果,以及如何实现跨浏览器兼容性,包括对IE、Firefox、Chrome和360等主流浏览器的支持。 首先,我们要明白`alert()`函数的基本用法。`alert()`是一个...
在JavaScript编程中,系统内置的`alert`、`confirm`和`prompt`函数是用于向用户展示信息、确认操作或获取输入的常用方法。然而,它们的默认样式通常较为简单,不符合现代网页设计的美观需求。为了提升用户体验,...
Winform自定义消息框,好看的消息提示Alert源码,国外大神,很基础的实现,可以在此基础上进行优化和进一步调整。Winform控件、Winform优美提示框、消息框、Alert信息弹窗、Notification
SweetAlert是一款美观、可自定义的JavaScript提示对话框插件,它替代了浏览器原生的alert、confirm和prompt对话框,提供了更为丰富的样式和交互体验。这个压缩包包含的文件主要是JS(JavaScript)和CSS(层叠样式表...
在JavaScript中,`alert`和`confirm`是两种常见的弹窗函数,用于向用户显示信息或获取用户确认。`alert`通常用来展示一个简单的警告消息,而`confirm`则会弹出一个带有“确定”和“取消”按钮的对话框,等待用户做出...
SweetAlert是一款流行的JavaScript库,它提供了美观且可定制的弹窗功能,用于替代浏览器原生的`alert()`、`confirm()`和`prompt()`方法。在网页应用中,SweetAlert能够提供更加用户友好的交互体验,使得提示信息或者...
3. **Confirm弹窗** `confirm()`函数会显示一个带有“确定”和“取消”按钮的确认对话框。用户的选择可以通过返回值来判断,`true`表示点击了“确定”,`false`表示点击了“取消”。例如: ```javascript if ...
在实际的网页设计和开发中,除了使用`alert`,还可以考虑其他类型的对话框,如`prompt`(获取用户输入)或`confirm`(提供是/否选择),甚至可以使用自定义的模态对话框,这些通常能提供更好的用户体验,因为它们...
jQuery模拟的alert弹窗插件为开发者提供了更多的自定义空间,使得弹窗既能够传达信息,又能与用户进行更丰富的交互。本文将详细介绍如何使用jQuery实现模拟alert和confirm的弹窗插件,并探讨其实现原理。 一、基本...