if else语句窗口调整大小不触发

时间:2016-04-25 18:56:12

标签: javascript jquery resize window

我有以下功能

    $(document).ready(function () {
        function rows() {
        var divs = $(".film-list > li");
        wWidth = $(window).width();
        if (wWidth >= 1280) {
            for(var i = 0; i < divs.length; i+=3) {
                divs.slice(i, i+3).wrapAll('<div class="row"></div>');
            }
        } else if (wWidth >= 600) {
            for(var i = 0; i < divs.length; i+=2) {
                divs.slice(i, i+2).wrapAll('<div class="row"></div>');
            }
        }
    }
    rows();
    $(window).resize(rows);
    });

它适用于页面加载但不适用于调整大小。不知道这里发生了什么,我一直在撞墙而没有解决方案。谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

调用resize事件中的rows函数时缺少括号。 无论如何,最好在文档外部声明函数然后在里面调用它们。 在文档之外声明您的函数就像这样:

function rows() {
    var divs = $(".film-list > li");
    wWidth = $(window).width();
    if (wWidth >= 1280) {
        for(var i = 0; i < divs.length; i+=3) {
            divs.slice(i, i+3).wrapAll('<div class="row"></div>');
        }
    } else if (wWidth >= 600) {
        for(var i = 0; i < divs.length; i+=2) {
            divs.slice(i, i+2).wrapAll('<div class="row"></div>');
        }
    }
}


$(document).ready(function () {
    rows();
});
$(window).resize(function(){
    rows();
});