2016-04-25 31 views
0

我有以下功能如果在窗口else语句resize在不触发

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

它可以在页面加载但不能调整大小。不知道这里发生了什么事,我一直没有办法解决我的问题。谢谢你的帮助

回答

0

在resize事件中调用行函数时丢失括号。 无论如何,最好在文档之外声明函数,然后在里面调用它们。 声明你的功能在文档之外准备像这样:

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