layui的弹框弹框不自动关闭

这篇博客探讨了layui弹框与vue弹框的使用差异,并详细展示了如何在layui中实现一级弹框点击关闭按钮后不关闭,而是弹出二级弹框的功能。主要涉及layui的layer.open方法配置,包括设置回调函数以控制弹框行为。

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

前言:

     layui的弹框相比较vue的来说,用法是有很多不一样的

官方:layui弹框   layui弹框2

实现效果:

 一级弹框点击X 后,不关闭一级弹框,弹出二级弹框

实现代码:

核心不退出代码,函数里面加了:return false

1级弹框方法

layer.open({
			// layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
			type : 1,
			shift : 2,
			id : Math.random(),
			title : "日志栏",
			skin : 'layui-layer-rim',
			offset : offset,
			area: ['90%', mobileHeight], // 宽高
			btnAlign: 'c',
			content : $("#dailyForm"),

			btn1: function(index, layero){
				// layero.find('.sub-bindbtn').click();
			},
			btn2: function(index, layero){
				layer.close(index);

			},
			success : function() {
				$("#dailyForm").attr("data-type",dailyType);
				$("#dailyForm").attr("data-id",projectId);
				dailyFormAssignment(result)
			},
			cancel : function() {
				// $('#formBtn').click();
				twoTrueModel()
                return false
			}
		});
let twoTrueModel = function(){
        layer.open({
            // layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)
            type : 1,
            shift : 2,
            id : Math.random()*100000,
            title : "提示",
            skin : 'layui-layer-rim',
            offset : offset,
            area: ['30%', '15%'], // 宽高
            btnAlign: 'c',
            content: '<div style="text-align: center;padding-top: 16px; font-size: 16px;">是否保存并提交当前日报内容</div>',
            btn: ['保存', '关闭所有弹框'],
            shade: 0, //不显示遮罩

            btn1: function(index, layero){
                $('#formBtn').click();
            },
            btn2: function(index, layero){
                layer.closeAll();

            }
        });
	}

<think>嗯,用户想找Layui架中实现加载动画的方法或示例。首先,我需要回忆一下Layui的文档和相关引用内容。用户提供的引用里提到了几种层类型,比如加载层(tips类型)和参数icon的设置。引用[1]中提到层类型有loading加载层,类型是3。引用[2]里的icon参数可以设置图标,特别是加载的取值范围是0-2。这可能对应同的加载动画样式。 用户需要的是加载动画的对话示例,所以应该使用loading类型的层。根据引用[1],类型3是加载层。那可能需要调用layer.open方法,设置type为3。另外,引用[2]中提到icon参数用于加载的取值范围0-2,所以可能需要结合这个参数来调整图标样式。 另外,引用[3]和[4]可能和iframe或按钮图标有关,但当前问题主要是加载动画,所以暂时需要考虑这些。过,可能需要确认在加载层中是否可以使用icon参数,或者是否需要其他配置。 接下来,我需要构造一个示例代码。根据Layui的常规用法,通常先引入layer模块,然后使用layer.open方法。设置type为3,可能还需要指定icon为0、1或2来显示同的加载效果。此外,加载层通常需要按钮,所以btn参数可能需要设为空数组,或者设置。timeout参数可以设置自动关闭的时间,过用户可能需要手动关闭,所以可能需要使用返回的索引来调用layer.close。 例如,代码可能是: layer.open({ type: 3, icon: 0, content: '加载中...', time: 0 // 自动关闭 }); 或者根据引用[2],icon的取值范围在加载中是0-2,所以同的值可能有同的动画效果。同时,用户可能需要自定义内容,比如content参数来显示文字。需要注意,加载层可能默认没有按钮,所以需要设置btn参数,或者设为空。 另外,引用[2]中提到btn参数定义按钮数量和名称,但加载层可能需要按钮,所以应该忽略这个参数。而关闭加载层可能需要调用layer.close(index),其中index是layer.open返回的值。 因此,正确的示例应该是调用layer.open,设置type为3,指定icon为0-2之间的值,设置content为加载提示信息,并可能设置shade控制遮罩。同时,如果需要手动关闭,需要保存返回的index,并在适当的时候调用layer.close(index)。 此外,还需要注意Layui的版本,同版本可能有差异,但用户提供的引用中没有提到版本,所以按通用方法处理。最后,根据用户提供的引用内容,确保引用正确的来源,比如引用[1]和[2]来支持参数设置。</think>### Layui实现加载动画示例 在Layui架中,可通过`layer.load()`方法快速实现加载动画。以下是两种典型实现方式: 1. **基础加载动画(无文字)** ```javascript var index = layer.load(0); //参数0-2对应同图标样式[^2] //需要手动关闭时调用 layer.close(index); ``` 2. **带文字提示的加载层** ```javascript layer.open({ type: 3, //固定为加载层类型[^1] icon: 1, //取值范围0-2 content: '数据加载中...', time: 0, //自动关闭 shade: 0.5 //遮罩透明度[^3] }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值