我是靠谱客的博主 健壮茉莉,最近开发中收集的这篇文章主要介绍关于layer.photos图片点击无法弹出的问题分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

摘要: layer是一款口碑很好的弹层组件,详细的介绍可以参看官网介绍,网址是http://layer.layui.com/。本期在博主进行测试的过程中,发现需要顺利返回JSON并通过前端进行获取并显示照片需要注意以下内容: 1、如果测试可以将json打印出来,需要注意的是,json中的所有斜杠必须都是向右斜的(),如果是本机测试的话,要注意的是获得的图片资源的路径格式必须为相对路径,也就是说路径钱不能像那些以c:盘符号开头的形式。


1、如果对于打印出的json无法自己判断是否正确的话,可以通过下面的这个网站来进行json校对,官网是:http://www.bejson.com/。如果校验后不报错可以基本判断输出的json格式是正确的。

2、注意在打印json的时候,如果是双引号套双引号,像这样 " "" " ;这样的话必须进行转义,写成:""""。最后记得return xxx.toString();

3、要使用layer的照片图层可以将下载的组件放到WEB-INF目录下,在引用的时候,需要使用绝对路径进行引用,例:<script type="text/javascript" src="${pageContext.request.contextPath}/layer/layer.min.js"></script>,还需引入:extend/layer.ext.js,extend/layer.ext.js的引用也可以使用:layer.use('extend/layer.ext.js');来进行。使用$.getJSON("url",value,callback)。jQuery语法适用于layer。如图:


4、最后楼主在测试的时候发现自己使用的360极速浏览器在极速模式下点击后图片无法弹出,切换到兼容模式和IE9模式都是可以的,谷歌浏览器也可以正常弹出,各项功能指标正常!

5、下面给出一个我亲自测试好用的程序。

package mypicture;
import java.util.ArrayList;
//MVC进一步分层
public class PictureService {
public static String getJSON(ArrayList<Picture> list , String contextPath){//接收所有图片
StringBuilder str = new StringBuilder();//字符串连接
str.append("{");
str.append(""status": 1, ");
str.append(""msg": "照片", ");
str.append(""title": "用户相册", ");
str.append(""id": 0, ");
str.append(""start": 0, ");
str.append(""data": [ ");
//处理照片
for (int i = 0; i < list.size(); i++) {
str.append("{");
str.append(""name": "" + list.get(i).getName() + "", ");
str.append(""pid": 0, ");
//注意这个中间的是左斜杠,若是写成右斜杠"\"出不来结果
str.append(""src": ""+ contextPath + "/" + list.get(i).getUrl() + "", ");
str.append(""thumb": "", ");//缩略图
str.append(""area": [600,800] " );
str.append("}");
if (i < list.size()-1) {
str.append(",");//不是最后一项的话,加上,号
}else {
break;
}
}
str.append("]");
str.append("}");
return str.toString();
}
}
前端使用它的方法。

$(".picture").click(function() {
layer.use('extend/layer.ext.js');
$.getJSON("${pageContext.request.contextPath}/picture/getPic",{"picture.uid":this.lang},
function (data) {
layer.photos({
html:"",
json:data
});
});
});

  注意这个中间的是左斜杠,若是写成右斜杠"\"出不来结果,json校验会出错,如图是校验结果


改成"/"后,json校验正确,图片也可以正常弹出来。


这是谷歌浏览器弹出照片的效果:





参考文献:

http://layer.layui.com/1.8.5/ext.html

https://yq.aliyun.com/articles/60890

http://www.cnblogs.com/xiadongqing/p/5252579.html


最后

以上就是健壮茉莉为你收集整理的关于layer.photos图片点击无法弹出的问题分析的全部内容,希望文章能够帮你解决关于layer.photos图片点击无法弹出的问题分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部