【问题标题】:if else statement on window resize not triggering窗口调整大小的 if else 语句未触发
【发布时间】:2016-04-25 18:56:12
【问题描述】:

我有以下功能

    $(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);
    });

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

【问题讨论】:

    标签: javascript jquery resize window


    【解决方案1】:

    在调整大小事件中调用行函数时缺少括号。 无论如何,最好在文档外部声明函数准备好,然后在内部调用它们。 像这样在文档之外声明你的函数:

    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();
    });
    

    【讨论】:

      猜你喜欢
      • 2016-10-31
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 2012-08-18
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      相关资源
      最近更新 更多