我們在頁面的時候,很多時候用到了彈出層,消息提醒,確認框等等,統一樣式的彈出框可以使頁面更加優美。在此,我整理一下我們項目的移動端和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>'
});

歡迎關注下面的公眾號,進一步技術交流:

