layer扩展打开/关闭动画的方法
2020-02-13 12:58
701 查看
1. 打开窗口时,支持自定义或者第三方动画
打开layer.js,定位到函数:Class.pt.creat ,
找到代码:
//为兼容jQuery3.0的css动画影响元素尺寸计算 if (doms.anim[config.anim]) { var animClass = 'layer-anim ' + doms.anim[config.anim]; that.layero.addClass(animClass).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { $(this).removeClass(animClass); }); }
修改为(此处只是针对css动画库animate):
//为兼容jQuery3.0的css动画影响元素尺寸计算 if (doms.anim[config.anim]) { var animClass = 'layer-anim ' + doms.anim[config.anim]; that.layero.addClass(animClass).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { $(this).removeClass(animClass); }); } else { //支持自定义的,或者第三方弹出动画 var animClass = config.anim; var animated = 'animated'; that.layero.addClass(animated); that.layero.addClass(animClass).one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { $(this).removeClass(animClass); $(this).removeClass(animated); }); }
至此,layer便可支持其他弹出动画。
2.关闭窗口时,支持自定义或者第三方动画(layer.open时需传入新增参数:closeAnim)
打开layer.js
定位到函数:Class.pt.config
新增参数:
closeAnim: 'layer-anim-close',
定位到函数:Class.pt.creat
找到代码:
//记录关闭动画 if (config.isOutAnim) { that.layero.data('isOutAnim', true); }
修改为:
//记录关闭动画 if (config.isOutAnim) { that.layero.data('isOutAnim', true); that.layero.data('closeAnim', config.closeAnim); }
定位函数到:layer.close
找到代码:
if (layero.data('isOutAnim')) { layero.addClass('layer-anim ' + closeAnim); } $('#layui-layer-moves, #layui-layer-shade' + index).remove(); layer.ie == 6 && ready.reselect(); ready.rescollbar(index); if (layero.attr('minLeft')) { ready.minIndex--; ready.minLeft.push(layero.attr('minLeft')); } if ((layer.ie && layer.ie < 10) || !layero.data('isOutAnim')) { remove() } else { setTimeout(function () { remove(); }, 200); }
修改为:
if (layero.data('isOutAnim')) { if (layero.data("closeAnim") === closeAnim) { layero.addClass('layer-anim ' + closeAnim); } else { layero.addClass(layero.data("closeAnim") + ' animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () { $('#layui-layer-moves, #layui-layer-shade' + index).remove(); remove(); }); } } if (layero.data("closeAnim") === closeAnim) { $('#layui-layer-moves, #layui-layer-shade' + index).remove(); layer.ie == 6 && ready.reselect(); ready.rescollbar(index); if (layero.attr('minLeft')) { ready.minIndex--; ready.minLeft.push(layero.attr('minLeft')); } if ((layer.ie && layer.ie < 10) || !layero.data('isOutAnim')) { remove() } else { setTimeout(function () { remove(); }, 200); } }
好啦,关闭也可以支持第三方动画啦。
以上这篇layer扩展打开/关闭动画的方法就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- layer扩展打开/关闭动画
- layer.open打开iframe页面的调用父页面方法及关闭
- JS动画效果打开、关闭层的实现方法
- 使用overridePendingTransition()方法,打开、关闭activity有动画
- JS动画效果打开、关闭层的实现方法
- C# Winform中实现主窗口打开登录窗口关闭的方法
- Extjs4中tab打开,关闭再打开不显示或显示重叠问题的解决方法
- opengl 打开和关闭垂直同步方法
- ORACLE 归档日志打开关闭方法
- win7下关闭窗口最大化和最小化时的窗口动画效果的方法
- Response.Redirect在新窗口打开 && 3.0扩展方法
- 打开某个AVI文件,explorer.exe遇到问题需要关闭的解决方法
- Windows中打开和关闭FSO文件读写权限的方法
- Word打开和关闭速度均很慢的解决方法
- PAE(物理地址扩展)开启与关闭的方法
- 效果不错的窗口打开与关闭的动画效…
- 【JACOB问题】类Workbooks的Open方法无效&无法关闭打开的进程
- 使用ObjectAnimator开发打开、关闭书本动画
- Js动画打开、关闭层的演示代码
- C# winform主界面打开并关闭登录界面的方法