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


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 相关文章推荐
Javascript 检测、添加、移除样式(className)函数代码
Sep 08 Javascript
jquery与google map api结合使用 控件,监听器
Mar 04 Javascript
javascript预加载图片、css、js的方法示例介绍
Oct 14 Javascript
jquery实现手机发送验证码的倒计时代码
Feb 12 Javascript
JavaScript、jQuery与Ajax的关系
Jan 24 Javascript
jquery基础知识第一讲之认识jquery
Mar 17 Javascript
静态页面html中跳转传值的JS处理技巧
Jun 22 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
Sep 21 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
Apr 25 Javascript
一步一步实现Vue的响应式(对象观测)
Sep 02 Javascript
JavaScript经典案例之简易计算器
Aug 24 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
有关php运算符的知识大全
2011/11/03 PHP
改写ThinkPHP的U方法使其路由下分页正常
2014/07/02 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
Yii2.0中的COOKIE和SESSION用法
2016/08/12 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
采用call方式实现js继承
2014/05/20 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
基于对象合并功能的实现示例
2017/10/10 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
VUE 全局变量的几种实现方式
2018/08/22 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
如何修改Vue打包后文件的接口地址配置的方法
2020/04/22 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
SKECHERS斯凯奇中国官网:来自美国的运动休闲品牌
2018/11/14 全球购物
高二生物教学反思
2014/01/27 职场文书
学校开学标语
2014/10/06 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
《分数的意义》教学反思
2016/02/20 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
解析Redis Cluster原理
2021/06/21 Redis