min回调仅在maxmin:true且type为1或2时触发;不支持type:0/3/4,IE11及以下不兼容,拖拽至左下角不触发该回调。
min回调必须配合maxmin: true才能触发
不写maxmin: true,min函数压根不会注册,点了按钮也没反应。它不是可选配置,而是硬性前提——layui 默认隐藏最小化按钮,没按钮就不可能触发事件。常见错误包括:maxmin: false、maxmin: 'true'(字符串无效)、或把maxmin写在success里而非layer.open参数对象中。
type必须是1或2,否则min回调静默失效
min只对type: 1(页面层)和type: 2(iframe 层)生效。type: 0(信息框)、type: 3(加载层)、type: 4(tips)即使写了min也完全忽略。如果你用的是type: 2且内容是 iframe,注意:回调里不能直接操作子页面 DOM,得用layer.getChildFrame()桥接上下文。
min回调里改top/bottom/right/left要避开auto冲突
min回调接收layero(当前弹层的 jQuery 包装 DOM),你可以直接设样式,但要注意:
- 不要只设
bottom和right,必须同时置空top和left为'auto',否则旧值残留导致定位错乱 - 避免用
transform或scale,Layui 内部会重置这些样式 - 如果弹窗
area用了'auto'高度,最小化后再还原容易塌陷为0px,建议改用固定像素值如['800px', '500px'] - 示例写法:
min: function(layero) { $(layero).css({ top: 'auto', left: 'auto', bottom: '27px', right: '0' }); }
IE11及以下浏览器不支持min回调
这个回调依赖现代浏览器的visibilitychange或resize机制,Layui 官方明确标注其兼容范围从 Edge 12+、Chrome 30+、Firefox 25+ 开始。如果你的业务仍需支持 IE11,别指望min能工作,得换方案——比如监听window.onblur加延时判断,或干脆放弃最小化交互。
真正容易被忽略的是:拖拽弹窗到左下角“停住”,Layui 不认为这是最小化,min回调完全不触发;那只是普通拖拽行为,得靠moveEnd自己算位置。而min只响应右上角那个「—」按钮点击。











