1. 程式人生 > >layer彈框層學習筆記

layer彈框層學習筆記

進一步 ref nat mod time 展現 介紹 快速 代碼

  這裏對layer的筆記只是大概記錄一下其使用過程,以便後續使用時快速回顧,更詳細使用及介紹參考官網實例。鏈接在本文末

一 、初步了解layer-彈層之美

  layer是一款近年來備受青睞的web彈層組件,她具備全方位的解決方案,致力於服務各水平段的開發人員,您的頁面會輕松地擁有豐富友好的操作體驗。

  在與同類組件的比較中,layer總是能輕易獲勝。她盡可能地在以更少的代碼展現更強健的功能,且格外註重性能的提升、易用和實用性,正因如此,越來越多的開發者將媚眼投上了layer(已被8267108人次關註)。layer 甚至兼容了包括 IE6 在內的所有主流瀏覽器。她數量可觀的接口,使得您可以自定義太多您需要的風格,每一種彈層模式各具特色,廣受歡迎。當然,這種“王婆賣瓜”的陳述聽起來總是有點難受,因此你需要進一步了解她是否真的如你所願。

  幾個效果展示:

簡單內容展示 TAB層
技術分享圖片 技術分享圖片

二 、基本使用流程

1.引入jQuery1.8以上的任意版本
2.引入layer.js,將下載的layer包整個導入項目中
3.編寫彈出層方法
4.調用彈框
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LayerTest.aspx.cs" Inherits="WebLayer.Scripts.LayerTest" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml"
> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <%-- 1.引入jQuery1.8以上的任意版本 --%> <script src="jquery-3.3.1.min.js"></script> <%-- 2.引入layer.js --%> <script src="../layer-v3.1.1/layer/layer.js"
></script> <%-- 3.編寫彈出層方法 --%> <script type="text/javascript"> function Content() { layer.alert(內容); } </script> </head> <body> <form id="form1" runat="server"> <div> <%-- 4.調用彈框 --%> <a onclick="Content()">Add</a> </div> </form> </body> </html>

三 、一些彈框舉例

//初體驗

layer.alert(‘內容‘)
//第三方擴展皮膚

layer.alert(‘內容‘, {
  icon: 1,
  skin: ‘layer-ext-moon‘ //該皮膚由layer.seaning.com友情擴展。關於皮膚的擴展規則,去這裏查閱
})
//詢問框

layer.confirm(‘您是如何看待前端開發?‘, {
  btn: [‘重要‘,‘奇葩‘] //按鈕
}, function(){
  layer.msg(‘的確很重要‘, {icon: 1});
}, function(){
  layer.msg(‘也可以這樣‘, {
    time: 20000, //20s後自動關閉
    btn: [‘明白了‘, ‘知道了‘]
  });
});
//提示層

layer.msg(‘玩命提示中‘);
//墨綠深藍風

layer.alert(‘墨綠風格,點擊確認看深藍‘, {
  skin: ‘layui-layer-molv‘ //樣式類名
  ,closeBtn: 0
}, function(){
  layer.alert(‘偶吧深藍style‘, {
    skin: ‘layui-layer-lan‘
    ,closeBtn: 0
    ,anim: 4 //動畫類型
  });
});
//捕獲頁

layer.open({
  type: 1,
  shade: false,
  title: false, //不顯示標題
  content: $(‘.layer_notice‘), //捕獲的元素,註意:最好該指定的元素要存放在body最外層,否則可能被其它的相對元素所影響
  cancel: function(){
    layer.msg(‘捕獲就是從頁面已經存在的元素上,包裹layer的結構‘, {time: 5000, icon:6});
  }
});
//頁面層

layer.open({
  type: 1,
  skin: ‘layui-layer-rim‘, //加上邊框
  area: [‘420px‘, ‘240px‘], //寬高
  content: ‘html內容‘
});
//自定頁

layer.open({
  type: 1,
  skin: ‘layui-layer-demo‘, //樣式類名
  closeBtn: 0, //不顯示關閉按鈕
  anim: 2,
  shadeClose: true, //開啟遮罩關閉
  content: ‘內容‘
});
//tips層

layer.tips(‘Hi,我是tips‘, ‘吸附元素選擇器,如#id‘);
//iframe層

layer.open({
  type: 2,
  title: ‘layer mobile頁‘,
  shadeClose: true,
  shade: 0.8,
  area: [‘380px‘, ‘90%‘],
  content: ‘mobile/‘ //iframe的url
}); 
//iframe窗

layer.open({
  type: 2,
  title: false,
  closeBtn: 0, //不顯示關閉按鈕
  shade: [0],
  area: [‘340px‘, ‘215px‘],
  offset: ‘rb‘, //右下角彈出
  time: 2000, //2秒後自動關閉
  anim: 2,
  content: [‘test/guodu.html‘, ‘no‘], //iframe的url,no代表不顯示滾動條
  end: function(){ //此處用於演示
    layer.open({
      type: 2,
      title: ‘很多時候,我們想最大化看,比如像這個頁面。‘,
      shadeClose: true,
      shade: false,
      maxmin: true, //開啟最大化最小化按鈕
      area: [‘893px‘, ‘600px‘],
      content: ‘//fly.layui.com/‘
    });
  }
});
//加載層

var index = layer.load(0, {shade: false}); //0代表加載的風格,支持0-2
//loading層

var index = layer.load(1, {
  shade: [0.1,‘#fff‘] //0.1透明度的白色背景
});
//小tips

layer.tips(‘我是另外一個tips,只不過我長得跟之前那位稍有些不一樣。‘, ‘吸附元素選擇器‘, {
  tips: [1, ‘#3595CC‘],
  time: 4000
});
//prompt層

layer.prompt({title: ‘輸入任何口令,並確認‘, formType: 1}, function(pass, index){
  layer.close(index);
  layer.prompt({title: ‘隨便寫點啥,並確認‘, formType: 2}, function(text, index){
    layer.close(index);
    layer.msg(‘演示完畢!您的口令:‘+ pass +‘<br>您最後寫下了:‘+text);
  });
});
//tab層

layer.tab({
  area: [‘600px‘, ‘300px‘],
  tab: [{
    title: ‘TAB1‘, 
    content: ‘內容1‘
  }, {
    title: ‘TAB2‘, 
    content: ‘內容2‘
  }, {
    title: ‘TAB3‘, 
    content: ‘內容3‘
  }]
});
//相冊層

$.getJSON(‘test/photos.json?v=‘+new Date, function(json){
  layer.photos({
    photos: json //格式見API文檔手冊頁
    ,anim: 5 //0-6的選擇,指定彈出圖片動畫類型,默認隨機
  });
});

Layer彈框屬性介紹官網鏈接:https://www.layui.com/doc/modules/layer.html

Layer彈框JS包下載及彈框在線演示:http://layer.layui.com/

layer彈框層學習筆記