如果想要制作一个简单的相册,可以采用这个插件的方法。如果你的图片是从后台传过来的json格式里,可以通过ajax加载让图片显示在页面上,然后在使用layer插件,做出点击以后就可以查看大图的效果。

一、通过ajax请求动态获取json,然后在得到json中的图片的地址。

1.页面

  1. <div class="main" id="main"></div>

2.ajax请求

  1. <script>
  2. $(document).ready(function(){
  3. $.ajax({
  4. url:'img.json',
  5. type: "get",
  6. dataType: "json",
  7. success:function(data){
  8. var authors=data.authors;
  9. //var img=authors[0].imagesurl;
  10. for(var i=0;i<authors.length;i++){
  11. $("#main").append('<img class="list" id="list'+i+'" src='+authors[i].imagesurl+' title='+authors[i].imagesurl1+' alt='+authors[i].imagesname+'/>')
  12. }
  13. },
  14. });
  15.  
  16. })

3.页面效果

二、使用layer插件做出照片弹出

1、引入文件

这里我要说一些注意事项:

(1)、可能有些网站还会引入layer.ext.js这个文件,其实是不需要引入的,但是这个文件是有用的,还是要有这个文件的。layer.css这个文件也是要有的,但是也不需要引入。

2、ajax加载完成后设置弹出层。

  1. $(document).ready(function(){
  2. $.ajax({
  3. url:'img.json',
  4. type: "get",
  5. dataType: "json",
  6. success:function(data){
  7. var authors=data.authors;
  8. //var img=authors[0].imagesurl;
  9. for(var i=0;i<authors.length;i++){
  10. $("#main").append('<img class="list" id="list'+i+'" src='+authors[i].imagesurl+' title='+authors[i].imagesurl1+' alt='+authors[i].imagesname+'/>')
  11. }
  12. ;!function(){
  13. layer.use('layer.ext.js', function(){
  14. //初始加载即调用,所以需放在ext回调里
  15. layer.ext = function(){
  16. layer.photosPage({
  17. title: '获取页面元素包含的所有图片',
  18. parent:'#main'
  19. });
  20. };
  21. });
  22. }();
  23.  
  24. },
  25. });
  26. })

这个数据加载成功以后的函数是即时函数,并且我们不需要通过循环给每个图片添加点击事件。

3、效果如图。

三、(1)这是非常重要的一点,可能会出现的错误layer.use is not a function

原因是我们引入文件夹的路径不对。layer.min.js文件和layer.ext.js文件如果在同一个路径下,那么,代码中layer.use('layer.ext.js', function(){这一行就是直接写layer.ext.js就可以了。如果是这样的关系,如图:

如果是这样的关系,那么代码就是layer.use('extend/layer.ext.js', function(){。

(2)、如果遇到这样的错误,就是我们的样式文件路径不对。

下载layer这个插件包的时候会有一个skin文件夹,我们需要把这个文件放在如图所示的路径:

这个skin文件的路径也是相对于layer.min.js文件的。必须放在同级。只要保证相对路径是这样的就可以了。

如果有兴趣可以找找原因,为什么需要这么放,或者亲自试一试,看看到底需要怎么部署。

总之,大胆的尝试。行动使一切成为可能。

layer弹出相册层的更多相关文章

  1. layer弹出标签层tab

    引入文件: <script type="text/javascript" src="layer/layer.min.js"></script& ...

  2. layer弹出层不居中解决方案

    layer弹出层不居中解决方案 代码头中加入以下代码即可 <!doctype html>

  3. layer弹出层不居中解决方案,layer提示不屏幕居中解决方法,layer弹窗不居中解决方案

    layer弹出层不居中解决方案,layer提示不屏幕居中解决方法,layer弹窗不居中解决方案 >>>>>>>>>>>>> ...

  4. layer弹出层

    最近因为项目要求做了一个layer弹出层demo,先看效果图 好了,现在开始上代码 index.jsp <%@ page language="java" import=&qu ...

  5. layer弹出层详解

    前言:学习layer弹出框,之前项目是用bootstrap模态框,后来改用layer弹出框,在文章的后面,我会分享项目的一些代码(我自己写的). layer至今仍作为layui的代表作,她的受众广泛并 ...

  6. Layer弹出层销毁问题

    Layer弹出层销毁问题 最近开发时有个问题记录一下 点击按钮显示相应的图表信息,当时自己点感觉没问题,谁知到测试手里多次点击就会有后续打开的窗口无法渲染问题,看了半天才发现是调用layer.clos ...

  7. layer弹出层不居中解决方案(转)

    @感谢参考文章 原文内容: 一.问题描述 用layer做操作结果提示时,发现如果页面超出屏幕的高度时,弹出的提示不是屏幕居中,而是在页面高度的中间,如果一个页面的高度比较大,就看不到提示了. 还有一种 ...

  8. layer 弹出层 回调函数调用 弹出层页面 函数

    1.项目中用到layer 弹出层,定义一个公用的窗口,问题来了窗口弹出来了,如何保存页面上的数据呢?疯狂百度之后,有了结果,赶紧记下. 2.自己定义的公共页面方法: layuiWindow: func ...

  9. layer 弹出层 不居中

    layer弹出层不居中解决方案 代码头中加入以下代码即可 <!doctype html>

随机推荐

  1. neu 1694 Primorial vs LCM 数论

    1694: Primorial vs LCM 时间限制: 4 Sec  内存限制: 128 MB[提交][状态][讨论版] 题目描述 Given N (2<=N<=10^14), what ...

  2. Android之动态改变控件大小

    利用getLayoutParams()方法和setLayoutParams()方法.三步曲:1.首先利用getLayoutParams()方法,获取控件的LayoutParams.eg:LayoutP ...

  3. docker运行python3.6+flask小记

    docker新手. 目的:开发运行多个web api项目的时候,方便开发,兼顾部署. 方案大概这样: 1 隔离:系统运行在容器里,1容器只起1进程,代替在host起多个venv或虚拟机: 2调试和备份 ...

  4. VSAN Cluster Failed

    failed message:AdVanced vSAN configuration in syncChecks if all of the hosts in a vSAN cluster have ...

  5. jsp / get 中文乱码问题

    POST 方式下的解决方式还算简单,因为POST 方式下提交的数据都是以二进制的方式附加在http请求的body部分发送,只需要在后台指定编码格式就足矣解决. GET 方式下会将参数直接附加到url ...

  6. English trip -- VC(情景课)1 E Writing

    Talk with a partner ['pɑːtnə] (伙伴)  与同伴说一说 Comple the words 写全单词 first second third last name area c ...

  7. java plsql 调用oracle数组类型

    首先当然是在oracle中建立type CREATE OR REPLACE TYPE cux_proxy_bid_award_rec IS OBJECT ( trading_partner_id NU ...

  8. HashMap知识点、问题

    转载:https://blog.csdn.net/qq_27007251/article/details/71403647 https://www.cnblogs.com/kxdblog/p/4323 ...

  9. vscode使用集

    abotteram.typescript-react-snippets-0.1.9akamud.vscode-javascript-snippet-pack-0.1.5alechp.react-too ...

  10. TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手

    这是一个很有意思的问题~ 首先,我们要知道TCP是全双工的,即客户端在给服务器端发送信息的同时,服务器端也可以给客户端发送信息.而半双工的意思是A可以给B发,B也可以给A发,但是A在给B发的时候,B不 ...