我们在页面的时候,很多时候用到了弹出层,消息提醒,确认框等等,统一样式的弹出框可以使页面更加优美。在此,我整理一下我们项目的移动端和PC端页面常用的弹出层。
一、移动端
我们需在页面引入弹出框的样式和js
<link href="__STATIC__/weui.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="__JS__/m/dialog.js"></script>
1、提示语
1)加载
说明:带有等待图标,提示语内容为“数据加载中” 例子:$.Dialog.loading();
2)成功
说明:带有“√”图标,用于成功提示,默认提示为“操作成功!”,也可自定义 例子:$.Dialog.success("评论成功");
3) 失败
说明:带有“×”图标,用于失败提示,默认提示为“操作失败!”,也可自定义 例子:$.Dialog.fail("请选择活动");
2、确认框
说明:
第一个参数:题目 第二个参数:内容 回调方法:点击确认的回调函数
例子:
$.Dialog.alert('中奖啦', '活动已结束! ',function(){ window.location.href=index_url; });
3、询问框
说明:第一个参数:题目 第二个参数:内容 第三个参数:左边按钮名 第四个参数:右边按钮名
rightCallback方法:点击右边按钮的回调函数
leftCallback方法:点击左边按钮的回调函数
例子:
$.Dialog.confirm("温馨提示","成功兑换优惠券","继续兑换","查看列表",{ rightCallback:function(){ location.href = "{:addons_url('ShopCoupon://Wap/personal')}"; },leftCallback:function(){ window.location.replace("{:U('score_exchange',array('coupon_type'=>0))}"); } })
4、关闭提示框
说明:将以上的弹出框关闭。(成功提示与失败提示会在2000毫秒后自动关闭提示框) 例子:$.Dialog.close();
二、PC端
在页面中,我们需引入js:
<script type="text/javascript" src="__STATIC__/layertool/layer.js?v={:SITE_VERSION}"></script>
这里你可以参考layer的官方文档。http://layer.layui.com/
1、加载层
说明:有三种风格,load默认是不会自动关闭的
默认:
1:
2:
例子: //eg1 var index = layer.load(); //eg2 var index = layer.load(1); //换了种风格 //eg3 var index = layer.load(2, {time: 10*1000}); //换风格,并且设定最长等待10秒
2、提示框
说明:弹出提示层,常用的有以下两种
例子:
1) layer.msg() layer.msg('玩命提示中');
2)layer.alert() //eg1 layer.alert('只想简单的提示');
//eg2 layer.alert('加了个图标', {icon: 1}); //这时如果你也还想执行yes回调,可以放在第三个参数中。
//eg3 layer.alert('有了回调', function(index){ //do something layer.close(index); });
3、询问层
说明:layer.confirm(),有两个按钮的弹出层
按钮名:btn: ['确认','取消']
标题名:title : ['提示' , true]
例子:
var pot = layer.confirm('请认真检查,提交后将不能修改,是否提交?', { btn: ['确认','取消'], //按钮 title : ['提示' , true] }, function(){ layer.close(pot); var lay1 = layer.load(); $.post("{:U('save_reply')}",{reply:window.JSON.stringify(reply)},function(res){ if(res.status == 1){ layer.close(lay1); layer.msg(res.msg); setTimeout(window.location.replace("{$go_url}"),1000); }else{ layer.close(lay1); layer.msg(res.msg); } }); }, function(){ layer.close(pot); });
4、页面层
说明:
title:题目
area:宽高
content:内容
例子:
//页面层 layer.open({ type: 1, title:'客服回复', skin: 'layui-layer-rim', //加上边框 area: ['450px', '290px'], //宽高 content:' <div class="table-bar" style="height: auto; padding-bottom: 10px;">'+ '客服名称: <input class="input_width" type="text" name="remark_name" id="remark_name" value="客服" placeholder="请输入客服名称" /><br/>'+ '回复内容: <textarea class="input_width" name="remark" id="remark" rows="5" placeholder="请输入回复内容"></textarea><br/>' + '<button class="btn layer_btn" id="reply" type="submit" target-form="form-horizontal">回复</button>' + '</div>' });
欢迎关注下面的公众号,进一步技术交流: