目标:
我在一个高度为 0 的容器中有一组图像。单击触发器时,我希望容器向下滑动(动画)并延迟加载图像(使用延迟加载 jQuery 插件)。
标记:
<a href="#">Trigger 1</a>
<div class="container-1">
<img data-src="http://actualimageurl.jpg" src="http://loadinggif.gif">
<img data-src="http://actualimageurl.jpg" src="http://loadinggif.gif">
<img data-src="http://actualimageurl.jpg" src="http://loadinggif.gif">
</div>
<a href="#">Trigger 2</a>
<div class="container-2">
<img data-src="http://actualimageurl.jpg" src="http://loadinggif.gif">
<img data-src="http://actualimageurl.jpg" src="http://loadinggif.gif">
<img data-src="http://actualimageurl.jpg" src="http://loadinggif.gif">
</div>
// ETC
问题:
为了给容器设置动画,我需要给它一个高度。目前我使用 jQuery 快速获取容器的高度,将其存储在 data-height 属性中,然后将高度设置为零。问题在于,当实际加载的图像可能更高时,它会根据内部加载的 gif 获取高度。因此,当完全加载的容器为 2000 像素时,数据高度属性可能为 600 像素。
我应该/我可以:
- 在延迟加载之前获取存储在 data-src 属性中的图像的高度,将它们加在一起,然后将容器设置为该高度。
- 保持容器关闭,加载每个图像,一旦加载,我可以将它们加在一起,计算容器高度,然后将其向下滑动(不理想,因为它会很慢)。
- 还有其他建议吗?
踢球者:
该站点将响应,因此完全加载的图像的高度将根据浏览器宽度而变化,因为它们具有最大宽度:100%;