函数仅在窗口大小调整时调用一次

时间:2015-10-23 10:03:30

标签: jquery

我无法解决这个问题:

http://codepen.io/lukejacksonn/pen/PwmwWV

在调整窗口大小时,代码可以正常工作。当有足够的空间时,菜单中会放回1个项目。

当你从狭窄的屏幕出发并最大化浏览器时(不拖动它使其变大)代码只会放回1个项目,即使应该为多个项目甚至所有项目提供足够的空间。 (在上面的链接中尝试:将其缩小,然后最大化浏览器,只放回一个项目)

以下是从.hidden-links获取第一项并将其放回.visible-links的部分。

if(availableSpace > breaks[breaks.length-1]) {

  // Move the item to the visible list
  $hlinks.children().first().appendTo($vlinks);
  breaks.pop();
}

该函数仅被调用一次,因此在最大化浏览器时只返回1项是有意义的。毕竟你只调整了一次窗口的大小。

如何在最大化窗口时放回所有元素(尽可能多的元素)?

1 个答案:

答案 0 :(得分:1)

// change to while loop
while(availableSpace > breaks[breaks.length-1]) {

  // Move the item to the visible list
  $hlinks.children().first().appendTo($vlinks);
  breaks.pop();
}