Rails中使用layer弹窗组件

弹窗组件layer使用记录。

layer是什么?

layer, 一款 web弹窗组件,你可以将它看作bootstrap中的modal, 详情可见:官网, GitHub

layer是layui的一个内置模块,而layui则是一个前端UI框架,具体可见其官网

怎么用?

由于layer是layui的弹窗组件,所以使用时既可以单独使用,也可以通过layui模块化使用,这里单独使用layer。

layer的单独使用在其快速上手里面有相关说明,这里记录下如何在Rails中使用layer。

  • 下载layer文件包

    layer官网首页,点击绿色下载layer,或者去GitHub上下载,下载后解压。

    目前的版本是3.1.1:

  • 将文件放入项目的public目录下

    将解压后的layer文件包,放入项目的public目录下

  • 使用

    引入layer前,需要引入jQuery, 鉴于rails默认引入了jQuery,这里直接引入layer即可。

    在需要使用弹窗的页面对应的layout中,比如application.html.erb,添加:

    ......
    <head>
    ......
    <%= javascript_include_tag 'application' %>
    + <script src="/layer/layer.js"></script>
    </head>
    

    请务必将<script src="/layer/layer.js"></script>置于<%= javascript_include_tag 'application' %>之后。

    测试一下是否可以正常使用。在任何一个页面最后,比如landing page着陆页,添加:

    ......
    <div id="for_test" class="btn btn-lg btn-danger">test</div>
    <script>
      $('#for_test').on('click', function(){
          layer.msg('hello world');
      });
    </script>
    

    此时点击该页面的test按钮,会弹出一个含有“hello world”的弹窗,说明可以正常使用了。

    它的弹窗使用有多种,可以在官网首页玩一下,还是蛮酷的,此外,文档写的也蛮有趣的,可以读读。

    另:如果你使用layer.photos(options) - 相册层时,使用了JSON传入的方式【layer的photos有两种实现方式:JSON传入和直接读取页面图片】,不想肉眼检查自己的JSON文件格式是否正确,推荐使用这个在线json解析和格式验证的网站: JSON.cn

参考

layer官网

弹出层 layer

FLY 社区