自己整理一个div的jquery弹窗效果

本文介绍了一个使用JavaScript实现的自定义弹窗插件,包括弹窗显示与隐藏的控制逻辑及样式设置。该插件可通过函数调用轻松展示带有确认和取消按钮的提示框。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js:
 function letDivCenter(divName)
    {
        var top = $(divName).height();
        var left = ($(window).width() - $(divName).width()) * 482 / 1000;
        var scrollTop = $(document).scrollTop();
        var scrollLeft = $(document).scrollLeft();
        $(divName).css({
            position: 'absolute',
            top: top+scrollTop,
            left: left+scrollLeft
        }).show(700);
    }
function show_or_hide_pop_div(msg,type){
  var _pop=$("#pop_div");
  var _msg=$("#err_msg_span");
  if(type=="show"){
    letDivCenter(_pop);
    if(_pop.hasClass("dis-n")){
      _pop.removeClass("dis-n");
      _msg.html(msg);
    }
  }
  else{
    
    if(!_pop.hasClass("dis-n")){
      _pop.removeAttr("style");
      _pop.addClass("dis-n");
     
    }
  }
}

div:

   <div id="pop_div" class="pop-pos-pay h-180 dis-n">
    <div class="pop-con-pay-fff h-160">
        <a href=""><i class="pop-close"></i></a>
        <!--第一行15字最多--><p class="f-16"><i class="b-tan-icon"></i><span id="err_msg_span">是否确定?</span></p>
        <p class="mar-l-90 f-16"> </p>
        <p class=" text-c mar-t-10"> <input type="button" id="confirm" value="确定" class=" pop-pos-pay-btn"  /><input type="button" value="取消" id="cancel" class="pop-pos-pay-btn mar-l-30" onclick="show_or_hide_pop_div('','hide')" /></p>
    </div>
</div>




引用;

显示: show_or_hide_pop_div("确定!","show");

隐藏: show_or_hide_pop_div("","hide");


//弹窗确定按钮事件
$("#confirm").click(function(){    
    show_or_hide_pop_div('','hide');
});

可结合使用:

$.post('',{},function(data){
if(true){

 show_or_hide_pop_div("确定!","show");

$("#confirm").click(function(){    
    show_or_hide_pop_div('','hide');
});
}
})


css:(不一定全部都有用,先存着)

.pop-pos{ width:386px; height:163px; border-radius:8px; background:rgba(0,0,0,0.5); -ms-background-color:rgb(0,0,0); -ms-filter:alpha(opacity=50);margin:200px auto;}
.pop-con{ width:366px; height:143px; background:#f4f4f4; margin:10px 0 0 10px; position:absolute;}
.h-105{ height:105px;}
.bor-bottom-1{ border-bottom:1px #d0cfcf solid; background:#fff;}
.pop-clo{ font-size:14px; color:#999; padding-left:10px; line-height:36px;}
.pop-title{ color:#116397; font-weight:600; font-size:16px;}
.pop-icon,.pop-icon-2,.pop-icon-collection1,.pop-icon-collection2{ width:44px; height:44px; display:block; margin-left:35px; float:left; }
.pop-icon{ background:url(images/icon.png) no-repeat -58px -99px;}
.pop-icon-collection1{ background:url(images/icon.png) no-repeat -280px -99px; margin-left:58px;}
.pop-icon-collection2{ background:url(images/icon.png) no-repeat -326px -99px; margin-left:58px;}
.l-22{ line-height:22px;}
.l-40{ line-height:40px;}
.padding-10{ padding:10px 10px 10px 14px;}

.pop-text{ width:260px; display:block; margin-left:90px; font-size:16px;}
.pop-pos-pay{ width:386px; height:222px;border-radius:8px; background:rgba(0,0,0,0.5); -ms-background-color:rgb(0,0,0); -ms-filter:alpha(opacity=50);margin:200px auto;  z-index:1002;
overflow: auto;}
.pop-con-pay{ width:366px; height:202px; background:#f4f4f4; margin:10px 0 0 10px; position:absolute;}
.pop-con-pay-fff{ width:366px; height:202px; background:#fff; margin:10px 0 0 10px; position:absolute;}
.b-tan-icon{ width:44px; height:44px; display:inline-block; background:url(images/icon.png) no-repeat -106px -99px; margin-bottom:-16px; margin-left:36px; margin-top:35px; margin-right:10px; }
.pop-pos-pay-btn{ padding:5px 20px; background:#bd1f2e; color:#fff; border:medium none; border-radius:6px; cursor:pointer;}
.pop-close{   float: right;width: 20px;height: 20px;display: block;background: url(images/icon.png) no-repeat -157px -64px; margin: 5px;}

.pop-position{ position:relative;}
.send-pop-1{ width:400px; height:300px; border:1px #aaa solid; margin:150px auto ; padding:25px;}
.send-pop-2{ width:550px;  border:1px #aaa solid; margin:150px auto ; padding:25px;}
.padding-1-5{ padding:1px 5px;}
.w-350{ width:350px;}
.send-pop-text{ margin-top:10px; border:1px #aaa solid; margin-right:10px;}
.send-pop-btn{ color:#fff; background:#bd1f2e; padding:3px 35px; cursor:pointer; border:medium none; border-radius:5px;}
.w-80{ width:80px;}
.pop-clo-icon{ width:26px; height:26px; display:inline-block; background:url(icon.png) no-repeat -212px -65px; margin-bottom:-7px;margin-left:8px;}
.mar--20{margin:-20px;}
.w-100{ width:100px;}
.w-315{ width:315px;}
.l-icon{  border-left:1px #aaa solid; margin-top:11px; padding-bottom:14px;}
.d-weizhi{ float:left; margin-top:-20px; display:inline-block;}
.mar-l--5{ margin-left:-5px;}
.mar-l-1{ margin-left:1px;}
.send-pop-area{ width:520px; height:160px; margin:20px auto;}
.send-pop-area-btn{color:#fff; background:#bd1f2e; padding:3px 19px; cursor:pointer; border:medium none; border-radius:4px; font-size:16px;}
.send-pop-image{width:900px;  border:1px #aaa solid; margin:50px auto ; height:800px; padding:8px 0;}
.pad-td-10{ padding:10px 0;}
.h-180{ height:180px;}
.h-160{ height:160px;}
.mar-l-90{ margin-left:90px;}

图片:





引用;

显示: show_or_hide_pop_div("确定!","show");

隐藏: show_or_hide_pop_div("","hide");

public class OrganizationStructureController : Controller { AoutEntities db = new AoutEntities(); ReturnListJsonData jsonData = new ReturnListJsonData(); public ActionResult Index() { return View(); } #region 模糊查询 public ActionResult GetList(int page, int limit, string name, string code) { var list = db.OrganizationStructure.Where(a => a.IsDel == false).ToList(); if (!string.IsNullOrEmpty(name)) { list = list.Where(a => a.OrgName.Contains(name)).ToList(); } if (!string.IsNullOrEmpty(code)) { list = list.Where(a => a.OrgCode.Contains(code)).ToList(); } var offset = (page - 1) * limit; var data = list.OrderByDescending(a => a.ModifyDate).Skip(offset).Take(limit); jsonData.code = 0; jsonData.count = list.Count; jsonData.data = data; jsonData.msg = "success"; return Json(jsonData, JsonRequestBehavior.AllowGet); } #endregion #region 添加组织机构 [HttpPost] public ActionResult Add(OrganizationStructure org) { try { org.ID = Guid.NewGuid(); org.IsDel = false; org.CreateDate = DateTime.Now; org.ModifyDate = DateTime.Now; db.OrganizationStructure.Add(org); db.SaveChanges(); jsonData.code = 0; jsonData.msg = "添加成功"; } catch (Exception ex) { jsonData.code = 1; jsonData.msg = ex.Message; } return Json(jsonData); } #endregion #region 更新组织机构 [HttpPost] public ActionResult Update(OrganizationStructure org) { try { var model = db.OrganizationStructure.FirstOrDefault(a => a.ID == org.ID && a.IsDel == false); if (model != null) { model.OrgName = org.OrgName; model.OrgCode = org.OrgCode; model.Leve = org.Leve; model.ParentId = org.ParentId; model.ModifyDate = DateTime.Now; db.SaveChanges(); jsonData.code = 0; jsonData.msg = "更新成功"; } else { jsonData.code = 1; jsonData.msg = "未找到该组织机构"; } } catch (Exception ex) { jsonData.code = 1; jsonData.msg = ex.Message; } return Json(jsonData); } #endregion #region 删除组织机构(软删除) [HttpPost] public ActionResult Delete(Guid ID) { try { var model = db.OrganizationStructure.FirstOrDefault(a => a.ID == ID && a.IsDel == false); if (model != null) { model.IsDel = true; db.SaveChanges(); jsonData.code = 0; jsonData.msg = "删除成功"; } else { jsonData.code = 1; jsonData.msg = "未找到该组织机构"; } } catch (Exception ex) { jsonData.code = 1; jsonData.msg = ex.Message; } return Json(jsonData); } #endregion } 前端页面: @{ Layout = null; } <!DOCTYPE html> <html> <head> <link href="~/Scripts/layui/css/layui.css" rel="stylesheet" /> <script src="~/Scripts/layui/layui.js"></script> <script src="~/Scripts/jquery-3.4.1.js"></script> <style> body { padding: 10px 20px 20px 20px; width: 90% } .but { margin-top: -5px } </style> </head> <body> <fieldset class="layui-elem-field"> <legend> <span class="layui-breadcrumb"> <a href="">首页</a> <a href="">组织机构管理</a> </span> </legend> <div class="layui-field-box"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">机构名称</label> <div class="layui-input-block"> <input type="text" name="name" id="name" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-inline"> <label class="layui-form-label">机构代码</label> <div class="layui-input-inline"> <input type="text" name="code" id="code" autocomplete="off" class="layui-input"> </div> </div> <button type="button" class="layui-btn layui-btn-radius but" id="searchButton" onclick="Search()"><i class="layui-icon layui-icon-search"></i>查询</button> <button type="button" class="layui-btn layui-bg-blue but" onclick="AddOrg()"><i class="layui-icon layui-icon-addition"></i>添加</button> </div> </div> </fieldset> <fieldset class="layui-elem-field"> <table class="layui-hide" id="test" lay-filter="test"></table> <script type="text/html" id="toolDemo"> <div class="layui-clear-space"> <a class="layui-btn layui-btn-xs" lay-event="edit" id="Edit"><i class="layui-icon layui-icon-edit"></i>编辑</a> <a class="layui-btn layui-btn-xs layui-bg-orange" lay-event="del" id="del"><i class="layui-icon layui-icon-clear"></i>删除</a> </div> </script> </fieldset> <script> var tableIns; layui.use(['table', 'layer', 'form'], function () { var table = layui.table; var layer = layui.layer; // 创建渲染实例 tableIns = table.render({ elem: '#test', url: '/OrganizationStructure/GetList', page: true, cols: [[ { type: 'numbers', width: '15%', title: '序列号' }, { field: 'OrgName', width: '20%', title: '机构名称' }, { field: 'OrgCode', width: '20%', title: '机构代码' }, { field: 'Leve', width: '10%', title: '级别' }, { field: 'ParentId', width: '15%', title: '父节点ID' }, { field: 'ModifyDate', width: '20%', title: '修改时间', templet: function (d) { return formatDate(d.ModifyDate); } }, { title: '操作', width: '25%', templet: '#toolDemo' } ]], }); // 编辑删除事件 table.on('tool(test)', function (obj) { var data = obj.data; if (obj.event === 'edit') { EditOrg(data); } else if (obj.event === 'del') { DeleteOrg(data, obj); } }); }); function formatDate(dateStr) { if (!dateStr) return ''; var timestamp = parseInt(dateStr.replace(/\/Date$(\d+)$\//, '$1')); var date = new Date(timestamp); return date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + date.getDate()).slice(-2); } // 添加组织机构弹窗 function AddOrg() { layer.open({ type: 1, title: '添加组织机构', content: ` <div style="padding:20px"> <div class="layui-form-item"> <label class="layui-form-label">机构名称</label> <div class="layui-input-block"> <input type="text" id="add_name" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">机构代码</label> <div class="layui-input-block"> <input type="text" id="add_code" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">级别</label> <div class="layui-input-block"> <input type="number" id="add_leve" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">父节点ID</label> <div class="layui-input-block"> <input type="text" id="add_parentId" class="layui-input"> </div> </div> </div> `, btn: ['保存', '取消'], yes: function (index) { $.post('/OrganizationStructure/Add', { OrgName: $('#add_name').val(), OrgCode: $('#add_code').val(), Leve: $('#add_leve').val(), ParentId: $('#add_parentId').val() }, function (res) { if (res.code == 0) { layer.close(index); Search(); // 刷新列表 } else { layer.msg('操作失败:' + res.msg); } }); } }); } // 编辑组织机构弹窗 function EditOrg(data) { layer.open({ type: 1, title: '编辑组织机构', content: ` <div style="padding:20px"> <div class="layui-form-item"> <label class="layui-form-label">机构名称</label> <div class="layui-input-block"> <input type="text" id="edit_name" value="${data.OrgName}" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">机构代码</label> <div class="layui-input-block"> <input type="text" id="edit_code" value="${data.OrgCode}" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">级别</label> <div class="layui-input-block"> <input type="number" id="edit_leve" value="${data.Leve}" class="layui-input"> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">父节点ID</label> <div class="layui-input-block"> <input type="text" id="edit_parentId" value="${data.ParentId}" class="layui-input"> </div> </div> </div> `, btn: ['更新', '取消'], yes: function (index) { $.post('/OrganizationStructure/Update', { ID: data.ID, OrgName: $('#edit_name').val(), OrgCode: $('#edit_code').val(), Leve: $('#edit_leve').val(), ParentId: $('#edit_parentId').val() }, function (res) { if (res.code == 0) { layer.close(index); Search(); } else { layer.msg('更新失败:' + res.msg); } }); } }); } // 删除组织机构 function DeleteOrg(data, obj) { layer.confirm('真的删除行 [' + data.OrgName + '] 么', function (index) { $.post('/OrganizationStructure/Delete', { ID: data.ID }, function (res) { if (res.code == 0) { obj.del(); layer.close(index); } else { layer.msg('删除失败:' + res.msg); } }); }); } // 查询重载 function Search() { var nameVal = $('input[name="name"]').val().trim(); var codeVal = $('input[name="code"]').val().trim(); tableIns.reload({ where: { name: nameVal, code: codeVal }, page: { curr: 1 } // 重置分页 }); } </script> </body> </html> 帮我整理这两个
最新发布
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值