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


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 行级解析读取XML文件(附源码)
Oct 12 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
Mar 23 Javascript
用jquery实现自定义风格的滑动条实现代码
Apr 26 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
Oct 16 Javascript
JavaScript中document.forms[0]与getElementByName区别
Jan 21 Javascript
JavaScript基本的输出和嵌入式写法教程
Oct 20 Javascript
使用vue.js开发时一些注意事项
Apr 27 Javascript
JavaScript 栈的详解及实例代码
Jan 22 Javascript
基于JS实现一个随机生成验证码功能
May 29 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
Sep 12 Javascript
微信小程序间使用navigator跳转传值问题实例分析
Mar 27 Javascript
Vue axios 跨域请求无法带上cookie的解决
Sep 08 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查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
AngularJS 表达式详解及实例代码
2016/09/14 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
2016/09/20 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
Python里隐藏的“禅”
2014/06/16 Python
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
python构造函数init实例方法解析
2020/01/19 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
高校毕业生自我鉴定
2013/10/27 职场文书
采购求职信
2014/03/17 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
学习保证书
2015/01/17 职场文书
教师岗位职责范本
2015/04/02 职场文书
欠款起诉书范文
2015/05/19 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
springboot如何接收application/x-www-form-urlencoded类型的请求
2021/11/02 Java/Android