0

equalHeight のコードがあります。列を同じ高さに設定します。しかし、私はウィンドウのサイズ変更を使用しました。スクリプトがデスクトップとタブレットでのみ機能し、モバイルでは機能しないこと。私はこのスクリプトを持っています。このスクリプトは機能していますが、このスクリプトを改善するにはどうすればよいですか? 同じ機能を2回使用したためです。

どうすればこれを改善できますか?

var viewportWidth = $(window).width();
if ((viewportWidth >= 760)) {
    setTimeout(function() {
        equalHeight($('#footer .column'));
    }, 250);
};
$(window).resize(function() {
    var viewportWidth = $(window).width();
    if ((viewportWidth >= 760)) {
        setTimeout(function() {
            equalHeight($('#footer .column'));
        }, 250);
    };
});
4

3 に答える 3

1

カスタム関数を定義して、必要なときにいつでも呼び出すことができます。

function changeWidth() {
    var viewportWidth = $(window).width();
    if ((viewportWidth >= 760)) {
        setTimeout(function() {
            equalHeight($('#footer .column'));
        }, 250);
    };
}

$(document).ready(function() {
    changeWidth();
    $(window).resize(function() {
        changeWidth();
    });
});
于 2013-05-02T07:39:08.573 に答える
0

resize次のようにイベントをトリガーすることで、重複を回避できます。

$(window).resize(function() {
    var viewportWidth = $(window).width();
    if ((viewportWidth >= 760)) {
        setTimeout(function() {
            equalHeight($('#footer .column'));
        }, 250);
    };
})
.trigger('resize');
于 2013-05-02T07:37:25.417 に答える