5

別の関数の変数に値が挿入されている関数があります。

初期化:

ウィンドウのサイズが変更されると、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);
}
4

1 に答える 1