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


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 相关文章推荐
云网广告中的代码,提示出错,大家找找
Nov 21 Javascript
js简单判断移动端系统的方法
Feb 25 Javascript
canvas实现绘制吃豆鱼效果
Jan 12 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
Oct 25 Javascript
十分钟带你快速了解React16新特性
Nov 10 Javascript
使用vue-aplayer插件时出现的问题的解决
Mar 02 Javascript
jQuery实现轮播图及其原理详解
Apr 12 jQuery
vue打包相关细节整理(小结)
Sep 28 Javascript
JS实现数组去重及数组内对象去重功能示例
Feb 02 Javascript
vue基于better-scroll仿京东分类列表
Jun 30 Javascript
js实现浏览器打印功能的示例代码
Jul 15 Javascript
Vant picker 多级联动操作
Nov 02 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 无限级 SelectTree 类
2009/05/19 PHP
php类常量的使用详解
2013/06/08 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
golang与PHP输出excel示例
2016/07/22 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
理解javascript封装
2016/02/23 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
原生JS实现跑马灯效果
2017/02/20 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
详解Vue2.5+迁移至Typescript指南
2019/08/01 Javascript
Vue前端项目部署IIS的实现
2020/01/06 Javascript
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
python实现汉诺塔算法
2021/03/01 Python
java关于string最常出现的面试题整理
2021/01/18 Python
HTML5 Canvas实现文本对齐的方法总结
2016/03/24 HTML / CSS
HTML5+JS实现俄罗斯方块原理及具体步骤
2013/11/29 HTML / CSS
党员自我剖析材料(群众路线)
2014/10/06 职场文书
承德避暑山庄导游词
2015/02/03 职场文书
个人借条范本
2015/05/25 职场文书
亮剑观后感500字
2015/06/05 职场文书
四大名著读书笔记
2015/06/25 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
日元符号 ¥
2022/02/17 杂记