layer的使用
4.24更新:注意:layer現在有舊版1.8.5版本和新版本3.0版本的,對應引入的JQ也要不同,相對應的JQ引入1.1和3.1,否則JQ會出問題
4.21更新;
解答4-19的問題:采用紅色字
4,19日更新問題
在老版本中(1.7)版中遇到的問題;問題補充:准確的說是,在移動端中所出現的問題,
layer.confirm() //在運行時會報錯,是什么原因呢?
原因:在移動端中,其實是不支持,layer.alert(),layer.confirm(),layer.msg()等方法的,只支持 layer.open() ;參數根據相關文檔去配置就好了;
layer.open({content:'你確定刪除嗎?',btn:['確定’,'取消']}) //顯示的確定在右邊,並且調用函數是錯的?
原因:移動端本來就是與PC相反的,是為了符合用戶習慣。所以在移動端書寫時正常書寫就好,只有2個按鈕時,確定回掉用yes:function(){},取消回掉用no:function(){};有多個按鈕時;確定按鈕會在最右側,確定也是用yes:function(){};其他按鈕用,btn2:function(){},btn3:fubction(),...
if(!layer.open({content:'你確定刪除嗎?',btn:['確定’,'取消']})) return false ; //第一次顯示正常,第二次就不執行了,直接執行后面的語句,導致內容刪除掉?
原因:采用上題的方法就不會出現問題;
改成:
layer.open({ content:'測試', btn: ['確定', '取消'], yes:function(index, layero) { console.log('確定'); }, no:function(index, layero) { //點擊取消時,彈出框就沒了 } })
簡介:web彈層組件;更少的代碼展現更強健的功能;永久性提供無償服務;
使用:
1,下載layer.zip,解壓;
2,引入jquery.js和 layer.js;這是一個獨立於layui的組件,不需要依賴什么;
3,demo:
<script src="jquery-1.8.2.min.js" type="text/javascript" charset="utf-8"></script> <script src="layer/layer.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript">
//layer.alert('hello world!');
layer.alert('hello', {
icon: 1,
skin: 'layer-ext-moon'
})
</script>
可以看出:只是將單單的alert換成了layer.alert,其他同理;后面可跟參數來設置顯示的樣式;你以為僅僅只是這樣嗎,前面只是簡單的用法,然並卵;正確的打開方式這..這樣子的
layer.open({ type: 1, content: '傳入任意的文本或html' })
4,基礎參數:
1,(層類型) type: layer提供了5種層類型。可傳入的值有:
0(信息框,默認) 包括(alert,confirm,msg)
1(頁面層)
2(iframe層)
3(加載層)
4(tips層)
若你采用layer.open({type: 1})方式調用,則type為必填項(信息框除外)
layer.open({ type: 1, content: '我是頁面層' });
2,(標題) title: 3種類型:String/Array/Boolean,默認:'信息'
3,(內容) content: 3種類型:String/DOM/Array,默認:''
4,(皮膚) skin: 類型:String,默認:''
//單個使用 layer.open({ skin: 'demo-class' }); //全局使用。即所有彈出層都默認采用,但是單個配置skin的優先級更高 layer.config({ skin: 'demo-class' }) //CSS body .demo-class .layui-layer-title{background:#c00; color:#fff; border: none;} body .demo-class .layui-layer-btn{border-top:1px solid #E9E7E7} body .demo-class .layui-layer-btn a{background:#333;} body .demo-class .layui-layer-btn .layui-layer-btn1{background:#999;} … // 加上body是為了保證優先級。你可以借助Chrome調試工具,定義更多樣式控制層更多的區域。
擴展:layer皮膚制作說明。
【第一步】:命名文件夾
在layer的skin目錄建立一個文件夾,假設您將該文件夾命名為:yourskin
【第二步】:創建樣式等文件
在yourskin文件夾下建立一個單獨的樣式文件,務必命名為:style.css。並且你可能用到的圖片也要存放在該文件夾下
【第三步】:書寫樣式
/*
通過body前綴,是為了確保你皮膚的優先級
你可以通過調試工具重置更多樣式
*/
body .layer-ext-yourskin .layui-layer-title{}
body .layui-ext-yourskin .layui-layer-btn{}
body .layui-ext-yourskin .layui-layer-btn a{}
【第四步】:調試
通過全局配置看看你的皮膚定義的如何:
layer.config({
extend: 'myskin/style.css', //加載您的擴展樣式
skin: 'layer-ext-yourskin'
});
layer.alert('layer皮膚-Yourskin');
【最后一步】:發布
1. 現在你已經成功制作了一個皮膚了,如果你覺得它很美,你可以共享出更多的人使用。
2. 那么你應該制作一個簡單的頁面來介紹你的皮膚,提供盡可能簡單的使用說明(就像這個:layer.seaning.com)。
3. 然后將你的皮膚主題頁網址通過任意渠道發給賢心(比如可以通過郵箱:xu@sentsin.com)
------------------------------------and more-----參考官方文檔---------------------------------------------------------
area寬高
offset坐標
icon提示圖標
btn提示按鈕
btnAlign按鈕排列
closeBtn右上關閉
shade遮罩
shadeClose
time自動關閉
id唯一id
anim動畫
isOutAnim關閉動畫
maxmin最大小化
fixed是否固定
resize是否允許拉伸
resizing正在拉伸
scrollbar屏蔽滾動
maxWidth最大寬
zIndex層疊值
move拖拽元素
moveOut拖出
moveEnd回調
tipsTips參數
tipsMore允許多tips
success彈出后回調
yes確定回調
cancel關閉回調
end銷毀后回調
full/min/restore
內置方法
config全局設置
ready就緒
open核心方法
alert彈框
confirm詢問
msg提示
load加載
tips吸附
close關閉層
closeAll關閉全部
style
title重置標題
getChildFrame
getFrameIndex
iframeAuto
iframeSrc
setTop多層置頂
full/min/restore
其他內置層
prompt輸入層
tab選項卡層
photos圖片層
