layui内置模块(layer弹出层)

来源:互联网 发布:c语言截断字符串 编辑:程序博客网 时间:2024/05/17 05:57
        前面我们已经对layui前端框架的页面元素进行了简单的学习,但是作为一个可用的程序,仅仅是长的好看,并没有那个什么用;在好看的同时还需要实用和酷炫,实用就需要实现我们方便的和后端进行数据交互,酷炫就是在安静的页面展示下,带一些酷炫的动态效果,比如弹出个萌萌弹框之类的;所以这一章我们学习的layui框架中的内置模块就是实现这些功能的,下面我们直接上一张内置模块的大纲,就不写目录了,目录看起来并没有那么直观且一目了然。

弹出层(layer)

    layui中的弹出层是一个多彩的弹框世界,它不仅包含在layui中也有独立的模块,因此如果你只是需要在页面中显示一些弹框的话大可直接下载layer的独立文件引入(http://layer.layui.com/)即可。在日常开发中我们也经常有弹框的需求,不管是弹出提示或者是弹出一个页面抑或是弹出一个带有用户交互的弹框,比如输入框,登录框什么的。
 
    再怎么总结还是不会使,所以还是乖乖敲个代码:
        
        在贴代码之前先看看这些弹框层的效果(由于CSDN文件上传限制就不录制完全了):


效果对应的代码如下:
  1. <!DOCTYPE html>
  2. <meta charset="utf-8">
  3. <html>
  4. <head>
  5. <script type="application/javascript" src="index.js"></script>
  6. <script type="application/javascript" src="jquery-3.2.1.js"></script>
  7. <link rel="stylesheet" href="layui/css/layui.css">
  8. <script type="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. <button class="layui-btn" onclick="pageFunc1()">弹出页面层</button>
  14. <button class="layui-btn" onclick="iframeFunc1()">iframe层(多媒体)</button>
  15. <button class="layui-btn" onclick="iframeFunc2()">iframe层(带滚动条)</button>
  16. <button class="layui-btn" onclick="iframeFunc3()">iframe层(无滚动条)</button>
  17. </div>
  18. <div class="layui-main" style="margin-bottom: 30px;margin-top: 20px">
  19. <h3>弹出信息框</h3><hr>
  20. <button class="layui-btn layui-btn-normal" onclick="messageboxFunc()">type=0信息框</button>
  21. <button class="layui-btn layui-btn-normal" onclick="messageboxFunc1()">alert信息框</button>
  22. <button class="layui-btn layui-btn-normal" onclick="messageboxFunc2()">msg信息框(常用)</button>
  23. <button class="layui-btn layui-btn-normal" onclick="messageboxFunc3()">msg信息框(带icon)</button>
  24. <button class="layui-btn layui-btn-normal" onclick="messageboxFunc4()">msg信息框(抖动)</button>
  25. </div>
  26. <div class="layui-main" style="margin-bottom: 30px;margin-top: 20px">
  27. <h3>加载层</h3><hr>
  28. <button class="layui-btn layui-btn-warm" onclick="loadFunc0()">type=3加载层</button>
  29. <button class="layui-btn layui-btn-warm" onclick="loadFunc1()">load默认风格</button>
  30. <button class="layui-btn layui-btn-warm" onclick="loadFunc2()">load风格2</button>
  31. <button class="layui-btn layui-btn-warm" onclick="loadFunc3()">load风格3</button>
  32. <button class="layui-btn layui-btn-warm" onclick="loadFunc4()">msg加载层</button>
  33. </div>
  34. <div class="layui-main" style="margin-bottom: 30px;margin-top: 20px">
  35. <h3>tips层</h3><hr>
  36. <button id="tip-btn-1" class="layui-btn layui-btn-normal" onclick="tipFunc0()">type=4tip层</button>
  37. <button id="tip-btn-2" class="layui-btn layui-btn-normal" onclick="tipFunc1()">tip上</button>
  38. <button id="tip-btn-3" class="layui-btn layui-btn-normal" onclick="tipFunc2()">tip下</button>
  39. <button id="tip-btn-4" class="layui-btn layui-btn-normal" onclick="tipFunc3()">tip左</button>
  40. <button id="tip-btn-5" class="layui-btn layui-btn-normal" onclick="tipFunc4()">tip右</button>
  41. </div>
  42. <div class="layui-main" style="margin-bottom: 30px;margin-top: 20px">
  43. <h3>其他弹出层</h3><hr>
  44. <button class="layui-btn" onclick="otherFunc0()">prompt层</button>
  45. <button class="layui-btn" onclick="otherFunc1()">屏蔽滚动条</button>
  46. <button class="layui-btn" onclick="otherFunc2()">弹出即全屏</button>
  47. <button class="layui-btn" onclick="otherFunc3()">tab层</button>
  48. <button class="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() {
  86. layer.open({
  87. type:2,
  88. title:'iframe无滚动条',
  89. shadeClose:true,
  90. shade:0.5,
  91. area:['400px','80%'],
  92. content:['http://www.36kr.com','no']
  93. })
  94. }
  95. function messageboxFunc() {
  96. layer.open({
  97. type:0,
  98. title:'信息框',
  99. shadeClose:true,
  100. area:['400px','200px'],
  101. content:"type信息框"
  102. })
  103. }
  104. function messageboxFunc1() {
  105. layer.alert('alert信息框',{
  106. icon:5});
  107. }
  108. function messageboxFunc2() {
  109. layer.msg('常用的msg信息框')
  110. }
  111. function messageboxFunc3() {
  112. layer.msg('表情msg信息框',{
  113. icon:6});
  114. }
  115. function messageboxFunc4() {
  116. layer.msg('抖动msg信息框',function () {
  117. layer.msg('抖动msg信息框结束啦',{
  118. icon:6});
  119. });
  120. }
  121. function loadFunc0() {
  122. layer.open({
  123. type:3
  124. // content:"正在加载中..."
  125. });
  126. //关闭加载层
  127. setTimeout(function () {
  128. layer.closeAll('loading');
  129. },1000)
  130. }
  131. function loadFunc1() {
  132. layer.load();
  133. //关闭加载层
  134. setTimeout(function () {
  135. layer.closeAll('loading');
  136. },1000)
  137. }
  138. function loadFunc2() {
  139. layer.load(1);
  140. //关闭加载层
  141. setTimeout(function () {
  142. layer.closeAll('loading');
  143. },1000)
  144. }
  145. function loadFunc3() {
  146. layer.load(2);
  147. //关闭加载层
  148. setTimeout(function () {
  149. layer.closeAll('loading');
  150. },1000)
  151. }
  152. function loadFunc4() {
  153. layer.msg('加载中...',{icon:16,shade:0.8});
  154. //关闭加载层
  155. setTimeout(function () {
  156. layer.closeAll('loading');
  157. },1000)
  158. }
  159. function tipFunc0() {
  160. layer.open({
  161. type:4,
  162. tips:3,
  163. closeBtn:false,
  164. content:"这是来自open type=4的tips"
  165. });
  166. //关闭加载层
  167. setTimeout(function () {
  168. layer.closeAll('tips');
  169. },2000)
  170. }
  171. function tipFunc1() {
  172. layer.tips('我在上边','#tip-btn-2',{
  173. tips:[1,'#0f0']
  174. });
  175. //关闭加载层
  176. setTimeout(function () {
  177. layer.closeAll('tips');
  178. },1000)
  179. }
  180. function tipFunc2() {
  181. layer.tips('我在下边','#tip-btn-3',{
  182. tips:[3,'#000']
  183. });
  184. //关闭加载层
  185. setTimeout(function () {
  186. layer.closeAll('tips');
  187. },1000)
  188. }
  189. function tipFunc3() {
  190. layer.tips('我在左边','#tip-btn-4',{
  191. tips:[4,'#000']
  192. });
  193. //关闭加载层
  194. setTimeout(function () {
  195. layer.closeAll('tips');
  196. },1000)
  197. }
  198. function tipFunc4() {
  199. layer.tips('我在右边','#tip-btn-5',{
  200. tips:[2,'#000']
  201. });
  202. //关闭加载层
  203. setTimeout(function () {
  204. layer.closeAll('tips');
  205. },1000)
  206. }
  207. function otherFunc0() {
  208. layer.prompt({
  209. formType:2,
  210. value:'Andy',
  211. title:'告诉我你为什么喜欢我?',
  212. area:['600px','300px']
  213. },function (val,index) {
  214. layer.msg('你说:'+val);
  215. layer.close(index)
  216. })
  217. }
  218. function otherFunc1() {
  219. layer.open({
  220. content:'让滚动条不能动',
  221. scrollbar:false
  222. })
  223. }
  224. function otherFunc2() {
  225. var index=layer.open({
  226. type:2,
  227. title:'',
  228. content:'http://36kr.com/',
  229. area:['640px','390px'],
  230. maxmin:true
  231. })
  232. layer.full(index)
  233. }
  234. function otherFunc3() {
  235. layer.tab({
  236. area:['600px','300px'],
  237. //skin:'layui-layer-lan',
  238. shadeClose:true,
  239. tab:[{
  240. title:'tab01',
  241. content:"<div style=' padding:5px;text-align: center;'>一入技术深似海,从此妹纸是浮云</div>"
  242. },{
  243. title:'tab02',
  244. content:'阿阿阿阿阿'
  245. },{
  246. title:'tab03',
  247. content:'噢噢噢奥'
  248. }]
  249. })
  250. }
  251. var jsonData = {
  252. "title":"", //相册标题
  253. "id":123, //相册id
  254. "start":0, //初始显示的图片序号,默认0
  255. "data":[ //相册包含的图片,数组格式
  256. {
  257. "alt": "图片名1",
  258. "pid": 666, //图片id
  259. "src": "http://res.layui.com/images/fly/fly.jpg", //原图地址
  260. "thumb": "" //缩略图地址
  261. },
  262. {
  263. "alt": "图片名3",
  264. "pid": 888, //图片id
  265. "src": "http://res.layui.com/images/fly/layim.jpg", //原图地址
  266. "thumb": "" //缩略图地址
  267. },
  268. {
  269. "alt": "图片名3",
  270. "pid": 999, //图片id
  271. "src": "temp.jpg", //原图地址
  272. "thumb": ""//缩略图地址
  273. }
  274. ]
  275. };
  276. function otherFunc4() {
  277. layer.photos({
  278. photos: jsonData,
  279. anim: 4
  280. })
  281. }
  282. </script>
  283. </body>
  284. </html>
    
    layer弹出层是我们再开发中经常使用到的内容,所以这里会首先学习layer层的使用,后续会挑选着学习layui中其他的内置模块,由于有些模块作者注释后续会有重写,所以就暂时不进行学习。
    
    官方参考链接:http://www.layui.com/doc/modules/layer.html
       

原创粉丝点击