jQuery用图像填充身体

时间:2010-09-10 20:33:45

标签: jquery image

1)我们<body>heightwidth各不相同(不同的分辨率)。

2)其中包含图像的许多区块可以超过50个区块。

3)widthheight对于每个块都是相同的。

我们如何使用所有可用图片填充body,这些图片可以在当前分辨率下显示,并隐藏其他图片?

应该没有水平/垂直滚动条。

例如,<body>内有50个区块。 1024x768只能容纳20个,所以我们展示它们并隐藏其他的。如果人将浏览器窗口大小更改为1280 - 我们会显示更多块等等。

其实我不会要求你写完整的剧本。我需要一些已经有用的类似脚本的链接。

如果块可以自行更改(如幻灯片),那就更好了。

感谢。

2 个答案:

答案 0 :(得分:2)

我正在试图找出一种算法:

1)获取包含块的容器的宽度(容器应该是相对的,以便在调整窗口大小时它会扩展)。要使用.width.outerWidth

获取宽度

2)将容器的宽度除以块的宽度,将其放置。现在您知道一行中有多少块。

3)要计算高度,这可能会很棘手,因为您可能有一个标题或导航等,它会缩小垂直空间。所以这样做:

3.1)获取窗口$(window).height();

的高度

3.2)获取容器的顶部偏移量$('#container').offset().top

3.3)从窗口高度减去偏移量 - 现在你可以获得“真实”高度 (注意:如果你有一个页脚等,你也必须减去这个保留的空间)

4)将实际可用垂直空间除以块的高度(注意边距/填充)并将此数字置于此值。现在您知道您的空间可以容纳多少行。

5)乘以最大值行和最大我们计算过的列,这是适合的最大块数。

6)如果索引大于最大值,请获取$('.block')之类的块并立即迭代$('.block').each(function(index) { ... });。我们计算的块数,隐藏它们!

7)将事件处理程序附加到$(window).resize(function() { })并执行上面的步骤调整大小

答案 1 :(得分:0)

将它们放在具有CSS overflow:hidden属性集的块中。这样你就可以全部显示它们,但是使用只会看到适合块的数量。无需代码。