我无法解决这个问题:
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项是有意义的。毕竟你只调整了一次窗口的大小。
如何在最大化窗口时放回所有元素(尽可能多的元素)?
答案 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();
}