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


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 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
jQuery.query.js 取参数的两点问题分析
Aug 06 Javascript
Javascript实现返回上一页面并刷新的小例子
Dec 11 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
Feb 03 Javascript
jQuery中 attr() 方法使用小结
May 03 Javascript
jQuery树形下拉菜单特效代码分享
Aug 15 Javascript
快速学习jQuery插件 Cookie插件使用方法
Dec 01 Javascript
微信小程序 地图map实例详解
Jun 07 Javascript
vuejs父子组件之间数据交互详解
Aug 09 Javascript
JS数组操作之增删改查的简单实现
Aug 21 Javascript
详解Vue打包优化之code spliting
Apr 09 Javascript
一个小时快速搭建微信小程序的方法步骤
Apr 15 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
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
JavaScript实现QueryString获取GET参数的方法
2013/07/02 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
让nodeJS支持ES6的词法----babel的安装和使用方法
2017/07/31 NodeJs
nodejs log4js 使用详解
2019/05/31 NodeJs
深入理解基于vue-cli的webpack打包优化实践及探索
2019/10/14 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
python新手经常遇到的17个错误分析
2014/07/30 Python
Python实现句子翻译功能
2017/11/14 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
python字符串与url编码的转换实例
2018/05/10 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
解决Pycharm 导入其他文件夹源码的2种方法
2020/02/12 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
毕业生造价工程师求职信
2013/10/17 职场文书
大三毕业自我鉴定
2014/01/15 职场文书
个人授权委托书格式
2014/08/30 职场文书
会议接待欢迎标语
2014/10/08 职场文书
鲁迅故里导游词
2015/02/05 职场文书
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers