layui layer怎么实现弹窗淡入淡出的动画效果

风静吖_3652

风静吖_3652

2026-11-08

175人浏览

原创

layui layer实现纯淡入淡出效果需禁用缩放:设anim:5并用!important清除transform;或用anim:-1配合success回调fadeTo;遮罩层须手动创建与销毁以解耦动画。

layui layer怎么实现弹窗淡入淡出的动画效果

要让 layui layer 弹窗呈现柔和的淡入淡出效果,不能只依赖 anim 参数——因为 anim:5 是纯渐显(无位移),但默认仍带轻微缩放;而真正的“纯透明过渡”需绕过 layer 内置动画逻辑,用 CSS 覆盖 + shade 配合控制。

用 anim:5 + 自定义 CSS 彻底禁用缩放,只保留透明变化

第一步:在 layer.open 中设置 anim: 5,并关闭所有位移类影响:
layer.open({
  content: '操作成功',
  anim: 5,
  shade: 0.3,
  skin: 'layer-fade-only'
});

第二步:在页面样式中添加覆盖规则,清除 layer-anim-fade 的 transform 干扰:
/* 必须加 !important,否则 layer 内联样式会覆盖 */
.layer-fade-only .layui-layer-content {
  animation: none !important;
}
.layer-fade-only .layui-layer {
  transform: none !important;
  opacity: 0;
  transition: opacity .3s ease-in-out;
}
.layer-fade-only.layui-layer-show {
  opacity: 1;
}

这一步关键在于【必须用 !important 强制清除 layer 自动注入的 transform】,否则 anim:5 仍会触发 scale(1.05)→scale(1) 的缩放过程,达不到“纯淡入”观感。

用 success 回调接管,实现精准 fade 动画

方法一:直接操作 layero 的 opacity(最轻量)
layer.open({
  content: '加载中...',
  anim: -1, // 关闭内置动画
  shade: 0.2,
  success: function(layero) {
    $(layero).css({ opacity: 0, display: 'block' });
    $(layero).stop().fadeTo(300, 1);
  }
});

方法二:用 CSS keyframes 实现更可控的 fade(推荐用于需复用场景)
先定义动画:
@keyframes layer-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
.layer-custom-fade .layui-layer {
  animation: layer-fade .25s ease-in forwards;
}

深蓝色网站后台管理系统layui框架模板-AdminPro
深蓝色网站后台管理系统layui框架模板-AdminPro

一款深蓝色网站后台管理系统layui框架模板

下载

再调用:
layer.open({
  content: '已保存',
  anim: -1,
  skin: 'layer-custom-fade',
  shade: 0.15
});

针对遮罩层(shade)单独控制淡入淡出节奏

第一步:把 shade 设为 false,手动创建独立遮罩 DOM
第二步:在 success 中插入并动画化遮罩:
success: function(layero, index) {
  var shade = $('

')
    .css({
      background: 'rgba(0,0,0,.3)',
      position: 'fixed',
      top: 0, left: 0, right: 0, bottom: 0,
      opacity: 0
    })
    .appendTo('body')
    .fadeTo(200, 0.3);
  // 同时给弹层本体加 fade
  $(layero).css('opacity', 0).fadeTo(250, 1);
}

第三步:监听 layer 关闭事件,同步收起遮罩:
cancel: function() {
  $('.my-shade').fadeOut(150, function() { $(this).remove(); });
},
end: function() {
  $('.my-shade').remove();
}

这一步【必须手动管理遮罩生命周期,否则多次打开会叠加多个 .my-shade】,且不能依赖 layer 自带 shade,因为它的淡入淡出与 anim 绑定,无法解耦。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2883

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

6303

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

7210

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

7058

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

1003

5

css3教程
css3教程

php中文网为大家提供css3教程合集,CSS3的语法是建立在CSS原先版本基础上的,它允许使用者在标签中指定特定的HTML元素而不必使用多余的class、ID或JavaScript。php中文网还为大家带来css3的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

2140

10

有哪些css3渐变属性
有哪些css3渐变属性

css3中渐变属性有linear-gradient、radial-gradient、conic-gradient、repeating-linear-gradient、repeating-radial-gradient等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.01

3446

5

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
ThinkPHP配置开发与CMS后台实战
ThinkPHP配置开发与CMS后台实战

共87课时 | 13.2万人学习

第二十三期_综合实战
第二十三期_综合实战

共89课时 | 11.5万人学习

Layui 快速入门精讲
Layui 快速入门精讲

共5课时 | 1.6万人学习