jQuery layer彈出層插件 http://layer.layui.com/直接上官網學


在許多網站中,經常用到彈出層,有時候為了達到更好的用戶體驗,你將寫繁瑣的css跟js,這款 jquery-layer可以讓你想到即可做到的web彈窗/層js組件。layer側重於用戶靈活的自定義,為不同人的使用習慣提供全方位設計,您的頁 面會因此擁有更豐富、友好的操作體驗,而您只需在調用時簡單地配置相關參數,即可輕松實現各類交互。

 

它的使用方法很簡單,首先,引入jquery庫及layer庫 代碼如下:

<button id="test1">小小提示層</button> <script src="js/jquery-1.8.3.js"></script> <script src="js/layer.min.js"></script> <script> $('#test1').on('click', function () { //2秒后自動關閉,-1代表不顯示圖標 layer.msg('Hello layer', 2, -1); }); </script>
 
作者:廣州-yunny
除非注明, jQuery學習網文章均為原創,轉載時必須以鏈接形式標明本文地址。
本文地址: http://www.jquery001.com/jquery-layer.html
 
 

最近做的一個項目使用了一個叫做layer.js的插件,感覺很不錯,在這里寫下一些使用心得。

官方下載的地址與使用文檔:http://sentsin.com/jquery/layer/

因為官方的使用演示講解的已經非常清楚了,在這里我就講解一下就我在項目中的使用心得。

 

情況一:操作請求在iframe頁面中,但是彈窗希望是在整個頁面中居中,也就是相當於父頁面中的彈窗,也就是所謂的在iframe操作父頁面

方法如下:在當前的iframe頁面中寫JS觸發效果,希望彈窗的的DIV必須放在iframe父頁面中,調用代碼如下

復制代碼
     $("#addBank").click(function(){ var docHeight = document.documentElement.clientHeight; top.$.layer({ type : 1, title : '添加銀行賬號', fix : true, zIndex : 19891014, offset:[(docHeight/2-240)+'px' , ''], area : ['auto','350px'], page : {dom : '#addWrapper'} }); });
復制代碼

其中top.$.layer就是調用的關鍵了,top是瀏覽器的內置對象,表示最頂層容器,這樣一來就是實現了iframe控制父頁面的彈窗效果了,

"#addWrapper"是父頁面中的一個div,id為"addWrapper",其他的參數官方API里面都有詳細介紹,這里我就不再啰嗦了

 

情況二:希望彈窗自定義顯示的文字的樣式,我們可以在接受參數message的時候使用如:"<p style='text-align:center;'>你要顯示的文字</p>"的方式來實現

 

 

 

 

[javascript] view plain copy print?
  1. /* 
  2. 先去官網下載最新的js  http://sentsin.com/jquery/layer/ 
  3. ①引用jquery 
  4. ②引用layer.min.js 
  5. */  
  6.   
  7. 觸發彈層的事件可自由綁定,如:  
  8. $('#id').on('click', function(){  
  9.     layer.msg('test');  
  10. });  
  11. 下面主要貼出上述例子的調用代碼:  
  12. 【信息框】:  
  13. layer.alert('白菜級別前端攻城師賢心', 8); //風格一  
  14. layer.msg('前端攻城師賢心'); //風格二  
  15. //當然,遠遠不止這兩種風格。  
  16.   
  17. 【詢問框】:  
  18. $.layer({  
  19.     shade: [0],  
  20.     area: ['auto','auto'],  
  21.     dialog: {  
  22.         msg: '您是如何看待前端開發?',  
  23.         btns: 2,                      
  24.         type: 4,  
  25.         btn: ['重要','奇葩'],  
  26.         yes: function(){  
  27.             layer.msg('重要', 1, 1);  
  28.         }, no: function(){  
  29.             layer.msg('奇葩', 1, 13);  
  30.         }  
  31.     }  
  32. });  
  33. //還可用layer.confirm()快捷調用  
  34.   
  35. 【頁面層一】  
  36. $.layer({  
  37.     type: 1,  
  38.     shade: [0],  
  39.     area: ['auto', 'auto'],  
  40.     title: false,  
  41.     border: [0],  
  42.     page: {dom : '.layer_notice'}  
  43. });  
  44.   
  45. 【頁面層二】  
  46. var pageii = $.layer({  
  47.     type: 1,  
  48.     title: false,  
  49.     area: ['auto', 'auto'],  
  50.     border: [0], //去掉默認邊框  
  51.     shade: [0], //去掉遮罩  
  52.     closeBtn: [0, false], //去掉默認關閉按鈕  
  53.     shift: 'left', //從左動畫彈出  
  54.     page: {  
  55.         html: '<div style="width:420px; height:260px; padding:20px; border:1px solid #ccc; background- color:#eee;"><p>我從左邊來,我自定了風 格。</p><button id="pagebtn" class="btns" onclick="">關閉< /button></div>'  
  56.     }  
  57. });  
  58. //自設關閉  
  59. $('#pagebtn').on('click', function(){  
  60.     layer.close(pageii);  
  61. });  
  62.   
  63. 【iframe層一】  
  64. $.layer({  
  65.     type: 2,  
  66.     shadeClose: true,  
  67.     title: false,  
  68.     closeBtn: [0, false],  
  69.     shade: [0.8, '#000'],  
  70.     border: [0],  
  71.     offset: ['20px',''],  
  72.     area: ['1000px', ($(window).height() - 50) +'px'],  
  73.     iframe: {src: 'http://f2e.sentsin.com/chat'}  
  74. });   
  75.   
  76. 【iframe層二】  
  77. layer.tips('5秒后右下角窗口自動關閉,並生成一個新的iframe', this, {  
  78.     time: 5,  
  79.     maxWidth: 260  
  80. });  
  81. $.layer({  
  82.     type: 2,  
  83.     closeBtn: false,  
  84.     shadeClose: true,  
  85.     shade: [0.1, '#fff'],  
  86.     border: [0],  
  87.     time: 5,  
  88.     iframe: {  
  89.         src: 'test/guodu.html'  
  90.     },  
  91.     title: false,  
  92.     area: ['300px','250px'],  
  93.     shift: 'right-bottom',  
  94.     end: function(){  
  95.         $.layer({  
  96.             type : 2,  
  97.             title: '賢心博客 - sentsin.com',  
  98.             shadeClose: true,  
  99.             maxmin: true,  
  100.             fix : false,    
  101.             area: ['1024px', 500],                       
  102.             iframe: {  
  103.                 src : 'http://sentsin.com/'  
  104.             }   
  105.         });  
  106.     }  
  107. });  
  108.   
  109. 【加載層一】  
  110. layer.load(3);  
  111.   
  112. 【加載層二】  
  113. layer.load('加載帶文字', 3);  
  114.   
  115. 【tips層一】  
  116. layer.tips('tips的樣式並非是固定的,您可自定義外觀。', this, {  
  117.     style: ['background-color:#78BA32; color:#fff', '#78BA32'],  
  118.     maxWidth:185,  
  119.     time: 3,  
  120.     closeBtn:[0, true]  
  121. });  
  122.   
  123. 【tips層二】  
  124. layer.tips('默認沒有關閉按鈕', this , {guide: 1, time: 2});  
  125.   
  126. 【輸入/文件層】  
  127. //普通文本  
  128. layer.prompt({title: '您的名字?'}, function(name){  
  129.     alert(name);  
  130. });  
  131. //密碼文本  
  132. layer.prompt({title: '輸入任何口令,並確認',type: 1}, function(pass){  
  133.     alert(pass);  
  134. });  
  135. //文件上傳  
  136. layer.prompt({title: '隨便上傳個東東,並確認',type: 2}, function(file){  
  137.     alert(file);  
  138. });  
  139. //多行文本  
  140. layer.prompt({title: '隨便寫點啥,並確認',type: 3}, function(val){  
  141.     alert(val);  
  142. });  
  143.   
  144. 【tab層】  
  145. layer.tab({  
  146.     area: ['1000px', '500px'],  
  147.     data: [  
  148.         {title: 'Say', content:'Hi,Main'},  
  149.         {title: '無題', content:'支持html傳入'}                      
  150.     ]  
  151. });  
  152.   
  153. 【相冊層】  
  154. //此處為異步請求模式,具體的json格式,請等待文檔更新。或者你直接通過請求看photos.json  
  155. var conf = {};  
  156. $.getJSON('ajax地址', {}, function(json){  
  157.     conf.photoJSON = json; //保存json,以便下次直接讀取內存數據  
  158.     layer.photos({  
  159.         html: '這里傳入自定義的html,也可以不用傳入(這意味着不會輸出右側區域)。相冊支持左右方向鍵、Esc關閉',  
  160.         json: json  
  161.     });  
  162. }); 


免責聲明!

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



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