【发布时间】:2021-05-22 16:27:08
【问题描述】:
谁能帮忙解答这个问题?尝试打开图片时调用
错误在这行代码
: srcset[srcset.length - 1])[0];
谢谢
$(document).on('click', '.fancy-srcset', function (e) {
e.preventDefault();
var fancyGroup = e.currentTarget.dataset.fancyboxGroup;
var fancyElements = !fancyGroup
? [].slice.call(e.currentTarget.parentElement.children)
: [].slice.call(e.currentTarget.parentElement.parentElement.querySelectorAll('[data-fancybox-group="' + fancyGroup + '"]'));
var size = '400';
['576', '768', '992', '1200'].every(function (screenSize) {
if (window.matchMedia('(min-width: ' + screenSize + 'px)').matches) {
size = screenSize;
return true;
}
return false;
});
$.fancybox(
fancyElements.map(function (fancyElement) {
var srcset = fancyElement.dataset.srcset.split(', ').map(function (elem) {
return elem.split(' ');
});
return (size
? srcset.find(function (elem) {
return elem[1] === size + 'w';
})
: srcset[srcset.length - 1])[0];
}),
{
index: fancyElements.indexOf(e.currentTarget)
}
);
});
【问题讨论】:
-
当您执行
: srcset[srcset.length - 1])[0]时,srcset未定义。所以fancyElement.dataset.srcset.split...返回一个未定义的值,看起来像。
标签: javascript jquery properties undefined typeerror