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


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表单提交的代码
Sep 13 Javascript
javascript 学习笔记(onchange等)
Nov 14 Javascript
js常用排序实现代码
Dec 28 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
Oct 24 Javascript
jquery仿ps颜色拾取功能
Mar 08 Javascript
Angular2下使用pdf插件的方法详解
Apr 29 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
Aug 11 Javascript
基于JS实现html中placeholder属性提示文字效果示例
Apr 19 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
Oct 24 Javascript
js继承的这6种方式!(上)
Apr 23 Javascript
详解vue中移动端自适应方案
May 05 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 生成随机验证码图片代码
2010/02/08 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
php使用PDO方法详解
2014/12/27 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
在textarea中屏蔽js的某个function的javascript代码
2007/04/20 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
简易js代码实现计算器操作
2013/04/15 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
jquery live()调用不存在的解决方法
2014/02/26 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
使用jQuery监听DOM元素大小变化
2016/02/24 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
JS二分查找算法详解
2017/11/01 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
vue组件通信传值操作示例
2019/01/08 Javascript
vue之延时刷新实例
2019/11/14 Javascript
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
介绍一下gcc特性
2012/01/20 面试题
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
出纳的岗位职责
2013/11/09 职场文书
毕业求职自荐信格式是什么
2013/11/19 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
和平主题的演讲稿
2014/01/12 职场文书
学位证书委托书
2014/09/30 职场文书
导游词之日月潭
2019/11/05 职场文书