当前位置:Gxlcms > JavaScript > layui弹出层效果实现代码

layui弹出层效果实现代码

时间:2021-07-01 10:21:17 帮助过:10人阅读

本文实例为大家分享了layui弹出层的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>弹出层</title>
 <link rel="stylesheet" href="layui/css/layui.css" media="all">
 <link rel="stylesheet" href="css/global.css" media="all">
 </head>
 <body>
 <blockquote class="layui-elem-quote">
  大部分演示都在layer独立组件的官网,与内置的layer模块,用法是完全一致的
 </blockquote>
 <fieldset class="layui-elem-field layui-field-title site-demo-button" style="margin-top: 30px;">
  <legend>特殊例子</legend>
 </fieldset>

 <div class="site-demo-button" id="LAY_demo" style="margin-bottom: 0;">
  <blockquote class="layui-elem-quote layui-quote-nm">
  Tips:为了更清晰演示,每触发下述一个例子之前,都会关闭所有已经演示的层
  </blockquote>
  <button data-method="setTop" class="layui-btn">多窗口模式,层叠置顶</button>
  <button data-method="confirmTrans" class="layui-btn">配置一个透明的询问框</button>
  <button data-method="notice" class="layui-btn">示范一个公告层</button>
  <button data-method="offset" data-type="t" class="layui-btn layui-btn-normal">上弹出</button>
  <button data-method="offset" data-type="r" class="layui-btn layui-btn-normal">右弹出</button>
  <button data-method="offset" data-type="b" class="layui-btn layui-btn-normal">下弹出</button>
  <button data-method="offset" data-type="l" class="layui-btn layui-btn-normal">左弹出</button>
  <button data-method="offset" data-type="lt" class="layui-btn layui-btn-normal">左上弹出</button>
  <button data-method="offset" data-type="lb" class="layui-btn layui-btn-normal">左下弹出</button>
  <button data-method="offset" data-type="rt" class="layui-btn layui-btn-normal">右上弹出</button>
  <button data-method="offset" data-type="rb" class="layui-btn layui-btn-normal">右下弹出</button>
  <button data-method="offset" data-type="auto" class="layui-btn layui-btn-normal">居中弹出</button>
 </div>

 <div class="layui-elem-quote" style="margin-top: 20px;">
  <p>Layui - 精心为你雕琢</p>
 </div>

 <script src="layui/layui.js"></script>
 <script>
layui.use('layer', function(){ //独立版的layer无需执行这一句
 var $ = layui.jquery, layer = layui.layer; //独立版的layer无需执行这一句

 //触发事件
 var active = {
 setTop: function(){
 var that = this; 
 //多窗口模式,层叠置顶
 layer.open({
 type: 2 //此处以iframe举例
 ,title: '当你选择该窗体时,即会在最顶端'
 ,area: ['390px', '260px']
 ,shade: 0
 ,maxmin: true
 ,offset: [ //为了演示,随机坐标
  Math.random()*($(window).height()-300)
  ,Math.random()*($(window).width()-390)
 ] 
 ,content: 'http://layer.layui.com/test/settop.html'
 ,btn: ['继续弹出', '全部关闭'] //只是为了演示
 ,yes: function(){
  $(that).click(); 
 }
 ,btn2: function(){
  layer.closeAll();
 }

 ,zIndex: layer.zIndex //重点1
 ,success: function(layero){
  layer.setTop(layero); //重点2
 }
 });
 }
 ,confirmTrans: function(){
 //配置一个透明的询问框
 layer.msg('大部分参数都是可以公用的<br>合理搭配,展示不一样的风格', {
 time: 20000, //20s后自动关闭
 btn: ['明白了', '知道了', '哦']
 });
 }
 ,notice: function(){
 //示范一个公告层
 layer.open({
 type: 1
 ,title: false //不显示标题栏
 ,closeBtn: false
 ,area: '300px;'
 ,shade: 0.8
 ,id: 'LAY_layuipro' //设定一个id,防止重复弹出
 ,btn: ['火速围观', '残忍拒绝']
 ,moveType: 1 //拖拽模式,0或者1
 ,content: '<div style="padding: 50px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">你知道吗?亲!<br>layer ≠ layui<br><br>layer只是作为Layui的一个弹层模块,由于其用户基数较大,所以常常会有人以为layui是layerui<br><br>layer虽然已被 Layui 收编为内置的弹层模块,但仍然会作为一个独立组件全力维护、升级。<br><br>我们此后的征途是星辰大海 ^_^</div>'
 ,success: function(layero){
  var btn = layero.find('.layui-layer-btn');
  btn.css('text-align', 'center');
  btn.find('.layui-layer-btn0').attr({
  href: 'http://www.layui.com/'
  ,target: '_blank'
  });
 }
 });
 }
 ,offset: function(othis){
 var type = othis.data('type')
 ,text = othis.text();

 layer.open({
 type: 1
 ,offset: type //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
 ,id: 'LAY_demo'+type //防止重复弹出
 ,content: '<div style="padding: 20px 100px;">'+ text +'</div>'
 ,btn: '关闭全部'
 ,btnAlign: 'c' //按钮居中
 ,shade: 0 //不显示遮罩
 ,yes: function(){
  layer.closeAll();
 }
 });
 }
 };

 $('#LAY_demo .layui-btn').on('click', function(){
 var othis = $(this), method = othis.data('method');
 active[method] ? active[method].call(this, othis) : '';
 });

});
</script>
 </body>
</html>

效果图:

官网弹出层

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

人气教程排行