layer弹出层组件实现加载效果

layer弹出层组件挺实用的,需要跟jQuery配合使用,下面介绍一下利用layer制作加载层。

使用layer.load()

layer.load(1,{	// 0/1/2表示图标,load有三种可选图标
  time: 1000, // 自动关闭,表示多少毫秒后自动关闭,load默认为0,表示不会自动关闭
  shade: [0.3, '#000'],	// 设置遮罩层的透明度以及背景色,默认为白色透明
  success: function(layero, index) { 
  	// 弹出层创建完毕时的回调函数,有两个参数,layero表示当前dom层,index表示当前层索引
    layero.find('.layui-layer-loading1').css({
      // 可以更改图标大小或其他样式
      'background-size':'60px 60px',
      'width':'60px',
      'height':'60px',
    });
  }
});

效果图如下,1秒后自动关闭。

在这里插入图片描述

使用layer.msg()

layer.msg('<br>保存中...', {
  icon: 16,
  time: 3000,
  shade: [0.3, '#000']
});

效果图如下所示

在这里插入图片描述
需要将边框去除,并将图片放置在弹出框中部,修改后的代码如下所示。

layer.msg('保存中...', {
  icon: 16,
  shade: [0.3, '#000'],
  time: 3000,	// msg的默认自动关闭时间就是3秒
  success: function (layero) {
    layero.css({
      // 去除边框
      'border': 'none'
    });
    layero.find('.layui-layer-content').css({
      // 调整文字的位置
      'text-align': 'center',
      'padding': '45px 20px 15px 20px',
    });
    layero.find('.layui-layer-content .layui-layer-ico').css({
       // 居中图片
      'top': '0',
      'right': '0',
      'bottom': '0',
      'left': '0',
      'margin': '10px auto'
    });
  }
});

修改后的效果如下图所示。

在这里插入图片描述

存在问题

发现了一个比较让人头疼的问题:弹出层第一次出现的时候,不是在屏幕中间,只有在更改了屏幕大小之后才会处于屏幕中间。这一问题我找不到解决办法,若有大佬知道如何解决,请指点一二,感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值