关于微信上网页图片点击全屏放大效果


Posted in Javascript onDecember 19, 2016

实现微信上网页的图片点击后全屏还可以可以缩放,这个功能是别人做的,可是捏点击后屏幕直接黑屏了,图片没有显示出来。这个代码在网上搜一下,挺多类似的。

先上代码。

function arrayToJson(o) {
  var r = [];
  if (typeof o == "string") return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";
  if (typeof o == "object") {
    if (!o.sort) {
      for (var i in o)
        r.push(i + ":" + arrayToJson(o[i]));
      if (!!document.all && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {
        r.push("toString:" + o.toString.toString());
      }
      r = "{" + r.join() + "}";
    } else {
      for (var i = 0; i < o.length; i++) {
        r.push(arrayToJson(o[i]));
      }
      r = "[" + r.join() + "]";
    }
    return r;
  }
  return o.toString();
}
//这个是调用微信图片浏览器的函数
function imagePreview(curSrc, srcList) {
  if (!curSrc || !srcList || srcList.length == 0) {
    return;
  }
  WeixinJSBridge.invoke('imagePreview', {
    'current': curSrc,
    'urls': srcList
  });
};
(function ($) {
  var aa = [];
  var i = 0;
  var src = [];
  var json = null;
  aa = $(".img");
  for (i = 0; i < aa.length; i++) {
    src[i] = aa[i].src;  //把所有的src存到数组里
  }
  var srcList = arrayToJson(src); //转换成json并赋值给srcList
  $('.pro').click(function () {
    imagePreview(this.src, srcList);
  });
})(jQuery);

在微信web 开发者工具调试,网页上断点调试发现图片路径 json 格式化了两次!!!

最后解决的方法是没有调用 arrayToJson() 这个方法,直接调用 imagePreview  这个是微信提供的JsAPI 调用微信图片浏览器。

解释下每个方法的作用

这个是将图片路劲转为json格式的方法,如果已经是json格式就不用再转换了

关于微信上网页图片点击全屏放大效果

这个是调用微信图片浏览器的方法

关于微信上网页图片点击全屏放大效果

加载初始化参数以及点击调用方法

关于微信上网页图片点击全屏放大效果

以上所述是小编给大家介绍的关于微信上网页图片点击全屏放大效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
制作高质量的JQuery Plugin 插件的方法
Apr 20 Javascript
js 文件引入实现代码
Apr 23 Javascript
基于jquery的监控数据是否发生改变
Apr 11 Javascript
使用node.js 获取客户端信息代码分享
Nov 26 Javascript
一篇文章掌握RequireJS常用知识
Jan 26 Javascript
浅析jQuery操作select控件的取值和设值
Dec 07 Javascript
基于jPlayer三分屏的制作方法
Dec 21 Javascript
详解Vue-cli 创建的项目如何跨域请求
May 18 Javascript
微信小程序开发之实现自定义Toast弹框
Jun 08 Javascript
JS实现的ajax和同源策略(实例讲解)
Dec 01 Javascript
javascript异常处理实现原理详解
Feb 17 Javascript
如何用JS实现简单的数据监听
May 06 Javascript
详解jQuery lazyload 懒加载
Dec 19 #Javascript
JS实现滑动门效果的方法详解
Dec 19 #Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 #Javascript
简单理解js的冒泡排序
Dec 19 #Javascript
JS瀑布流实现方法实例分析
Dec 19 #Javascript
移动端日期插件Mobiscroll.js使用详解
Dec 19 #Javascript
JavaScript闭包和范围实例详解
Dec 19 #Javascript
You might like
用PHP实现小型站点广告管理(修正版)
2006/10/09 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
PHP使用Session遇到的一个Permission denied Notice解决办法
2014/07/30 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
Vue指令指令大全
2019/02/09 Javascript
Python绑定方法与非绑定方法详解
2017/08/18 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
python二元表达式用法
2019/12/04 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
html5服务器推送_动力节点Java学院整理
2017/07/12 HTML / CSS
升职自荐信范文
2013/10/05 职场文书
师范大学应届生求职信
2013/11/21 职场文书
自我评价优秀范文分享
2013/11/30 职场文书
司机岗位职责说明书
2014/07/29 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
毕业生个人总结
2015/02/28 职场文书
同意离婚答辩状
2015/05/22 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
导游词之秦皇岛燕塞湖
2020/01/03 职场文书
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python