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


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 相关文章推荐
IE浏览器打印的页眉页脚设置解决方法
Dec 08 Javascript
javascript实现将文件保存到本地方法汇总
Jul 26 Javascript
jQuery实现Email邮箱地址自动补全功能代码
Nov 03 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
Mar 05 Javascript
jQuery原理系列-css选择器的简单实现
Jun 07 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
Oct 10 Javascript
Vue.js数据绑定之data属性
Jul 07 Javascript
vue实现密码显示隐藏切换功能
Feb 23 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 Javascript
layui字体图标 loading图标静止不旋转的解决方法
Sep 23 Javascript
JavaScript享元模式原理与用法实例详解
Mar 09 Javascript
JavaScript中时间格式化新思路toLocaleString()
Nov 07 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
建立文件交换功能的脚本(三)
2006/10/09 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
2013/04/15 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
2016/06/08 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
js表单登陆验证示例
2016/10/19 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
王纯业的Python学习笔记 下载
2007/02/10 Python
Python文件和目录操作详解
2015/02/08 Python
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
Python爬虫爬取糗事百科段子实例分享
2020/07/31 Python
大学班级文化建设方案
2014/05/06 职场文书
美德少年事迹材料500字
2014/08/19 职场文书
任命书怎么写
2015/03/02 职场文书
继续教育个人总结
2015/03/03 职场文书
文员岗位职责范本
2015/04/16 职场文书
教你如何使用Python开发一个钉钉群应答机器人
2021/06/21 Python
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js