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


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的checkbox下拉框插件代码
Jun 25 Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
Feb 27 Javascript
JavaScript判断DOM何时加载完毕的技巧
Nov 11 Javascript
jquery 删除字符串最后一个字符的方法解析
Feb 11 Javascript
js eval函数使用,js对象和字符串互转实例
Mar 06 Javascript
详解Angular5路由传值方式及其相关问题
Apr 28 Javascript
JS对象与json字符串相互转换实现方法示例
Jun 14 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
Apr 28 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 Javascript
jQuery实现弹幕特效
Nov 29 jQuery
vue实现随机验证码功能(完整代码)
Dec 10 Javascript
JS内置对象和Math对象知识点详解
Apr 03 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生成sitemap.xml地图函数
2013/11/13 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
一个简单的javascript类定义例子
2009/09/12 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
代码详解javascript模块加载器
2018/03/04 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
2020/09/02 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
Django如何简单快速实现PUT、DELETE方法
2019/07/24 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
成品仓管员工作职责
2013/12/29 职场文书
商场中秋节广播稿
2014/01/17 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
小学音乐教学反思
2014/02/05 职场文书
家长对老师的感言
2014/03/11 职场文书
毕业生就业推荐表自我鉴定
2014/03/20 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
golang内置函数len的小技巧
2021/07/25 Golang