別の関数の変数に値が挿入されている関数があります。
初期化:
ウィンドウのサイズが変更されると、resizeImage()関数が呼び出されます。
$(window).resize(function () {
resizeImage();
});
リサイズ機能:
この関数は、image-resizeクラスですべての要素をチェックし、幅の値を変更して画像の SRC を再調整します (scene7 から動的)。
問題は、element.attr('src', newSrc); です。newSrc はsizingMethod()に格納されているため存在しません。
sizingMethod()関数から変数を取得し、それをelement.attr('src', newSrc);内に配置する方法はありますか? .
function resizeImage() {
$('.image-resize').each(function () {
var element = $(this), src = $(this).attr('src'), regx = /wid=\d+(\.\d)*/g, currentWidth, newWidth, newSrc;
var attrElement = $(this), attrSrc = $(this).attr('data-zoom-image'), attrRegex = /wid=\d+(\.\d)*/g, attrCurrentWidth, attrNewWidth, attrNewSrc;
if ($(window).width() > 1824) {
sizingMethod(src, regx, currentWidth, newWidth, newSrc, '2000');
} else if ($(window).width() <= 1824 && $(window).width() > 1366) {
sizingMethod(src, regx, currentWidth, newWidth, newSrc, '1824');
}
element.attr('src', newSrc);
});
};
サイジング機能:
function sizingMethod(sSrc, sRegex, sCurrentW, sNewW, sNewSrc, sNewWidth){
sCurrentW = sSrc.match(sRegex);
sNewW = 'wid=' + sNewWidth;
sNewSrc = sSrc.replace(sCurrentW, sNewW);
textWidth = sNewW.replace('wid=', '');
$(".dsply-screen-size").text($(window).width());
$(".dsply-image-size").text(textWidth);
}