0

デバウンス関数を使用してdivのサイズを変更しています.IE 10と11を除いて正常に動作します.IE 10と11では常に呼び出されているようで、スクロールバーがオフとオンで連続的に表示され、divが「ちらつき」ます. 既知の解決策はありますか?

ありがとう。

申し訳ありませんが、関数は次のとおりです。

function debounce(func, wait, immediate) {

    var timeout;
    return function() {
        var context = this,
            args = arguments;
        var later = function() {
            timeout = null;
            if (!immediate) func.apply(context, args);
        };
        var callNow = immediate && !timeout;
        clearTimeout(timeout);
        timeout = setTimeout(later, wait);
        if (callNow) func.apply(context, args);
    };
}

// 背景のサイズが変更されたときに動画のサイズを変更します

var myResizingFn = debounce(function() {
    if ((myPlayer !== null) && ($('#author-pane').length === 0) && (newDimensions !== null)) {
        var tWidth = $(window).width();
        newDimensions = calculateAspectRatioFit(theWidth, theHeight, tWidth , 10000);
        s9.view.size({
            width: "100%",
            height: newDimensions.height
        });
        myPlayer.width(newDimensions.width);
        myPlayer.height(newDimensions.height);
        myPlayer.show();      
    }
}, 200);
$(window).on('resize', myResizingFn);
4

0 に答える 0