时间:2021-05-26
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扩展打开/关闭动画的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在项目应用中,遇到自定义关闭layer.alert弹出层,即在关闭layer.alert时,可以自动触发关闭时的事件,具体方法为:layer.alert('爱心
在某些页面我们只需要输入一个参数,那么layer.prompt是一个很好的选择,但是前提要打开//使用layer扩展功能layer.config({extend
墨迹天气关闭天气动画教程。每次打开墨迹天气都会有天气动画?不喜欢的可以关闭掉,那么小伙伴们知道要怎么关闭吗?现在小编就教大家墨迹添加关闭天气动画方法。软件名称:
使用H-UI框架中的layer弹出层时发现layer.js中没有layer.prompt,如果想要使用layer.prompt可以使用layer中的use从扩展
在layer.msg中,可以通过time来更改时间,但是总会关闭,设置一个很长的时间又显得不专业,有没有方法,设置其不默认关闭,就像layer.load方法一样