我有一个内联列表,其中有N个元素。元素可以分别具有不同的宽度,列表可以溢出屏幕。需要设置每个项目的宽度,以便所有元素都适合屏幕。
问题:
但是有一个问题。当您将窗口调整到最小,然后再次拉伸到初始宽度时,所有元素的宽度等于 - 丢失原始比例,不必要地在每个列表中可以写入各种宽度的文本。
http://jsfiddle.net/v2pwww/42PdV/2/
可能的解决方案:
您可以记住数组中每个项目的宽度,并在窗口折叠后将宽度增加到宽度存储在数组中。 联系数组和列表项可以是arr(N)和ul.list li:nth-child(N)。 也许有另一种解决方案。
我不知道该怎么做,请帮助:)
答案 0 :(得分:1)
我不知道这是否与您的完全相同,但您可以使用属性来存储初始宽度。
$(document).ready(function() {
$('ul.list li').each(function(index) {
$(this).attr("initial-width",$(this).innerWidth());
});
然后代替
$(this).innerWidth($(this).innerWidth() - res);
使用
$(this).innerWidth($(this).attr("initial-width") - res);