我正在使用Masonry,需要根据当前屏幕宽度更改网格布局。我正在使用.resize(),但是只要越过断点,我就只需要更改布局。例如:

(person changes window size)

    if over 800
    run function

    if less than 800
    run function


我可以做这个。但是,它将在每个调整大小的调用上运行该函数。如果用户已经越过边界,我只需要运行该函数:

if window resized from 500 to 900
run function


仅当他们越过800断点时,触发函数的最佳方法是什么?

最佳答案

您可以使用一个简单的反跳功能

$(window).on('resize', (function() {
    var o, u;

    return function() {
        var w = $(this).width();

        if (w >= 800 && !o) {
            o = true; u = false;

            $('body').append('<div>Over 800</div>');
        }else if (w < 800 && !u) {
            o = false; u = true;

            $('body').append('<div>Under 800</div>');
        }
    }
})());


FIDDLE

关于javascript - 在不同的屏幕宽度下更改砌体布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24171700/

10-11 23:31