在移动端开发时使用photoswipe插件报错 Uncaught TypeError: Cannot read property 'x' of undefined...

本文介绍了解决Photoswipe插件中出现的'Cannot read property 'x' of undefined'错误的方法。通过为图片添加'data-size'属性并指定宽度和高度值(如'data-size=670x712'),可以避免此错误。文中提供了实现这一功能的JavaScript代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在前一段时间里使用photoswipe这个插件时总是会报错Cannot read property 'x' of undefined  一直不知道是什么原因,自从分析了一下这个插件以后发现在使用者个强大的插件时插入的图片都需要给添加上图片的尺寸“data-size=670x712”,报错提示的信息就是这个原因,错误中的'x'就是这个添加的data-size中的值。

  在发现这个问题以后需要给你的这个代码添加上这个,这样就能够顺利的解决报错。

  博主顺便分享出来,为以后遇到这问题的童鞋提供个方便,代码如下:

function data_size(){
     $("figure img").each(function () {
             var imgs = new Image();
             imgs.src = $(this).attr("src");
             var w = imgs.width * 10, h = imgs.height * 10;
             $(this).parent("a").attr("data-size", "").attr("data-size", w + "x" + h);
         })
}

  这个代码需要在页面一载入时就执行,html的部分和网友们提供的大部分的demo是一样的。

 

  本文为原创转载请加上本文链接,谢谢!

转载于:https://www.cnblogs.com/zxlshare/p/6472418.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值