1. 程式人生 > >layui內建模組(layer彈出層)

layui內建模組(layer彈出層)

        前面我們已經對layui前端框架的頁面元素進行了簡單的學習,但是作為一個可用的程式,僅僅是長的好看,並沒有那個什麼用;在好看的同時還需要實用和酷炫,實用就需要實現我們方便的和後端進行資料互動,酷炫就是在安靜的頁面展示下,帶一些酷炫的動態效果,比如彈出個萌萌彈框之類的;所以這一章我們學習的layui框架中的內建模組就是實現這些功能的,下面我們直接上一張內建模組的大綱,就不寫目錄了,目錄看起來並沒有那麼直觀且一目瞭然。

彈出層(layer)

    layui中的彈出層是一個多彩的彈框世界,它不僅包含在layui中也有獨立的模組,因此如果你只是需要在頁面中顯示一些彈框的話大可直接下載layer的獨立檔案引入(
http://layer.layui.com/
)即可。在日常開發中我們也經常有彈框的需求,不管是彈出提示或者是彈出一個頁面抑或是彈出一個帶有使用者互動的彈框,比如輸入框,登入框什麼的。
      再怎麼總結還是不會使,所以還是乖乖敲個程式碼:
        在貼程式碼之前先看看這些彈框層的效果(由於CSDN檔案上傳限制就不錄製完全了):

效果對應的程式碼如下:
  1. <!DOCTYPE html>
  2. <metacharset="utf-8">
  3. <html>
  4. <head>
  5. <scripttype
    ="application/javascript"src="index.js"></script>
  6. <scripttype="application/javascript"src="jquery-3.2.1.js"></script>
  7. <linkrel="stylesheet"href="layui/css/layui.css">
  8. <scripttype="application/javascript"src="layui/lay/dest/layui.all.js"></script>
  9. </head>
  10. <body>
  11. <div
    class="layui-main"style="margin-bottom:30px;margin-top:20px">
  12. <h3>頁面層/iframe層</h3><hr>
  13. <buttonclass="layui-btn"onclick="pageFunc1()">彈出頁面層</button>
  14. <buttonclass="layui-btn"onclick="iframeFunc1()">iframe層(多媒體)</button>
  15. <buttonclass="layui-btn"onclick="iframeFunc2()">iframe層(帶滾動條)</button>
  16. <buttonclass="layui-btn"onclick="iframeFunc3()">iframe層(無滾動條)</button>
  17. </div>
  18. <divclass="layui-main"style="margin-bottom:30px;margin-top:20px">
  19. <h3>彈出資訊框</h3><hr>
  20. <buttonclass="layui-btn layui-btn-normal"onclick="messageboxFunc()">type=0資訊框</button>
  21. <buttonclass="layui-btn layui-btn-normal"onclick="messageboxFunc1()">alert資訊框</button>
  22. <buttonclass="layui-btn layui-btn-normal"onclick="messageboxFunc2()">msg資訊框(常用)</button>
  23. <buttonclass="layui-btn layui-btn-normal"onclick="messageboxFunc3()">msg資訊框(帶icon)</button>
  24. <buttonclass="layui-btn layui-btn-normal"onclick="messageboxFunc4()">msg資訊框(抖動)</button>
  25. </div>
  26. <divclass="layui-main"style="margin-bottom:30px;margin-top:20px">
  27. <h3>載入層</h3><hr>
  28. <buttonclass="layui-btn layui-btn-warm"onclick="loadFunc0()">type=3載入層</button>
  29. <buttonclass="layui-btn layui-btn-warm"onclick="loadFunc1()">load預設風格</button>
  30. <buttonclass="layui-btn layui-btn-warm"onclick="loadFunc2()">load風格2</button>
  31. <buttonclass="layui-btn layui-btn-warm"onclick="loadFunc3()">load風格3</button>
  32. <buttonclass="layui-btn layui-btn-warm"onclick="loadFunc4()">msg載入層</button>
  33. </div>
  34. <divclass="layui-main"style="margin-bottom:30px;margin-top:20px">
  35. <h3>tips層</h3><hr>
  36. <buttonid="tip-btn-1"class="layui-btn layui-btn-normal"onclick="tipFunc0()">type=4tip層</button>
  37. <buttonid="tip-btn-2"class="layui-btn layui-btn-normal"onclick="tipFunc1()">tip上</button>
  38. <buttonid="tip-btn-3"class="layui-btn layui-btn-normal"onclick="tipFunc2()">tip下</button>
  39. <buttonid="tip-btn-4"class="layui-btn layui-btn-normal"onclick="tipFunc3()">tip左</button>
  40. <buttonid="tip-btn-5"class="layui-btn layui-btn-normal"onclick="tipFunc4()">tip右</button>
  41. </div>
  42. <divclass="layui-main"style="margin-bottom:30px;margin-top:20px">
  43. <h3>其他彈出層</h3><hr>
  44. <buttonclass="layui-btn"onclick="otherFunc0()">prompt層</button>
  45. <buttonclass="layui-btn"onclick="otherFunc1()">遮蔽滾動條</button>
  46. <buttonclass="layui-btn"onclick="otherFunc2()">彈出即全屏</button>
  47. <buttonclass="layui-btn"onclick="otherFunc3()">tab層</button>
  48. <buttonclass="layui-btn"onclick="otherFunc4()">相簿層</button>
  49. </div>
  50. <script>
  51. function pageFunc1(){
  52. layer.open({
  53. type:1,
  54. skin:'layui-layer-nobg',
  55. closeBtn:1,
  56. shift:2,
  57. shadeClose:true,
  58. content:"<div><h1 style='text-align: center;font-size: larger;margin-top: 80px;'>內容</h1></div>",
  59. title:'頁面層標題',
  60. area:['400px','300px']
  61. });
  62. }
  63. function iframeFunc1(){
  64. layer.open({
  65. type:2,
  66. title:false,
  67. area:['900px','600px'],
  68. shade:0.8,
  69. closeBtn:1,
  70. shadeClose:false,
  71. content:'//player.youku.com/embed/XMjY3MzgzODg0'
  72. });
  73. }
  74. function iframeFunc2(){
  75. layer.open(
  76. {
  77. type:2,
  78. title:'layer mobile頁',
  79. shadeClose:true,
  80. shade:0.8,
  81. area:['400px','80%'],
  82. content:'http://m.baidu.com'
  83. })
  84. }
  85. function iframeFunc3(){