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


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 相关文章推荐
window.showModalDialog使用手册
Jan 11 Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
Nov 14 Javascript
Javascript操作cookie的函数代码
Oct 03 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
Mar 14 Javascript
js事件监听机制(事件捕获)总结
Aug 08 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Sep 26 Javascript
jQuery的animate函数实现图文切换动画效果
May 03 Javascript
教你使用javascript简单写一个页面模板引擎
May 05 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
Aug 09 Javascript
jQuery实现根据生日计算年龄 星座 生肖
Nov 23 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
Dec 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面向对象之多态
2014/08/20 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
Python中的字典遍历备忘
2015/01/17 Python
Python制作CSDN免积分下载器
2015/03/10 Python
Python获取网页上图片下载地址的方法
2015/03/11 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
Python eval函数介绍及用法
2020/11/09 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
linux面试题参考答案(10)
2016/10/26 面试题
项目专员岗位职责
2013/12/04 职场文书
代办出身证明书
2014/10/21 职场文书
综合办公室岗位职责
2015/04/11 职场文书
勇敢的心观后感
2015/06/09 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL