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


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 相关文章推荐
js实现快速分享功能(你的文章分享工具)
Jun 25 Javascript
js实现广告漂浮效果的小例子
Jul 02 Javascript
JavaScript中检测变量是否存在遇到的一些问题
Nov 11 Javascript
jquery绑定事件不生效的解决方法
Feb 11 Javascript
了不起的node.js读书笔记之例程分析
Dec 22 Javascript
jQuery插件jRumble实现网页元素抖动
Jun 05 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 Javascript
javascript实现滚动效果的数字时钟实例
Jul 21 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
Nov 25 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
Jul 06 Javascript
Angularjs的启动过程分析
Jul 18 Javascript
Vue之Vue.set动态新增对象属性方法
Feb 23 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针对数字的加密解密类
2014/03/20 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
jQuery实现的Email中的收件人效果(按del键删除)
2011/03/20 Javascript
基于datagrid框架的查询
2013/04/08 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
AngularJS中的缓存使用
2017/01/11 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
Java文件与类动手动脑实例详解
2019/11/10 Python
python解析多层json操作示例
2019/12/30 Python
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
浅析HTML5中的download属性使用
2019/03/13 HTML / CSS
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
电大自我鉴定范文
2013/10/01 职场文书
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
不假外出检讨书
2014/01/27 职场文书
留学自荐信写作方法
2014/01/27 职场文书
搞笑获奖感言
2014/01/30 职场文书
班级体育活动总结
2014/07/05 职场文书
大学生简短的自我评价
2014/09/12 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
党校学习党性分析材料
2014/12/19 职场文书
中班下学期幼儿评语
2014/12/30 职场文书