layer —— 一個簡單的jQuery彈出層插件


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圖片層

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM