1)我们<body>
,height
和width
各不相同(不同的分辨率)。
2)其中包含图像的许多区块可以超过50个区块。
3)width
和height
对于每个块都是相同的。
我们如何使用所有可用图片填充body
,这些图片可以在当前分辨率下显示,并隐藏其他图片?
应该没有水平/垂直滚动条。
例如,<body>
内有50个区块。 1024x768只能容纳20个,所以我们展示它们并隐藏其他的。如果人将浏览器窗口大小更改为1280 - 我们会显示更多块等等。
其实我不会要求你写完整的剧本。我需要一些已经有用的类似脚本的链接。
如果块可以自行更改(如幻灯片),那就更好了。
感谢。
答案 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属性集的块中。这样你就可以全部显示它们,但是使用只会看到适合块的数量。无需代码。