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


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的siblings效果的js代码
Aug 09 Javascript
html+css+js实现xp window界面及有关功能
Mar 26 Javascript
一步步教大家编写酷炫的导航栏js+css实现
Mar 14 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
Jul 22 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
Nov 25 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
Jan 12 Javascript
js实现功能比较全面的全选和多选
Mar 02 Javascript
JavaScript Canvas绘制圆形时钟效果
Aug 20 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
vue 中几种传值方法(3种)
Nov 12 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
Jan 16 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
Oct 26 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 判断变量类型实现代码
2009/10/23 PHP
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
解析如何去掉CodeIgniter URL中的index.php
2013/06/25 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
jquery tools 系列 scrollable(2)
2009/09/06 Javascript
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
pycharm的console输入实现换行的方法
2019/01/16 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
在Python 的线程中运行协程的方法
2020/02/24 Python
电子商务应届生求职信
2013/11/16 职场文书
教师实习自我鉴定
2013/12/13 职场文书
竞选班长演讲稿
2013/12/30 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
电子商务专业毕业生自荐书
2014/06/22 职场文书
2014年档案室工作总结
2014/12/01 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
家属联谊会致辞
2015/07/31 职场文书
高中信息技术教学反思
2016/02/16 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
Python基于百度AI实现抓取表情包
2021/06/27 Python
mysql自增长id用完了该怎么办
2022/02/12 MySQL