【发布时间】:2014-02-11 00:17:55
【问题描述】:
我有一个 Fancybox 画廊,它使用以下 html 将一张图片的链接加载到一个包含另外 4 张图片的画廊:
<div id="gallery">
<a class="fancybox1" href="exampleimages/a1b.jpg"><img src="exampleimages/a1s.jpg" alt=""/></a>
<div class="hidden">
<a class="fancybox1" href="exampleimages/a2b.jpg"><img src="exampleimages/a2s.jpg" alt=""/></a>
<a class="fancybox1" href="exampleimages/a3b.jpg"><img src="exampleimages/a3s.jpg" alt=""/></a>
<a class="fancybox1" href="exampleimages/a4b.jpg"><img src="exampleimages/a4s.jpg" alt=""/></a>
</div>
</div>
href 图像是显示的大图,src 图像是缩略图。我知道如何在用于调用 fancybox 的 javascript 中设置缩略图大小:
$(document).ready(function() {
$(".fancybox1")
.attr('rel', 'gallery')
.fancybox({
prevEffect : 'none',
nextEffect : 'none',
helpers : {
title : {
type: 'outside'
},
thumbs : {
width : 75,
height : 75
}
},
padding : 0
});//endfancy1
但是我不知道如何更改显示图像的大小。这样做更好吗
1/ 根据缩略图在 javascript 中。
2/ 在 CSS 中(如果是这样,我如何链接到这个特定的图像?)
3/ 在实际图像文件到达网页之前,只需将其设置为正确的大小,这样网页就可以不加修改地显示它。
在上述这些方法中,一般来说,哪种方法是最佳实践,而不仅仅是 Fancybox?我从来没有真正理解网页中的图像大小 - 但我认为如果 CSS 或 javascript 要调整图像大小,则必须加载整个(有时非常大)文件大小然后调整大小,而如果图像更小开始它会是一个更小,更快的下载。对吗??
【问题讨论】:
-
1)。你真的不需要在隐藏的
div中有缩略图,它只会增加页面加载的开销,所以<a href=".."></a>就足够了(对于隐藏的链接。)2)。显示的图像(fancybox)只能以两种格式显示:a)。调整大小以适应视口(选项fitToView: true(默认))或以原始大小(选项fitToView: false) -
@JFK 我同意你关于隐藏缩略图的观点 - 这是一项复制和粘贴工作,客户尚未决定他想要哪个作为主图像!很高兴了解 fitToView: options... 虽然如果它设置为 true,例如三个图像分别为 800x600、600x800 和 150x150,它如何处理这个问题?我认为如果图像小于视口,它不会放大它们,只是显示它们更小,如果其中一个尺寸更大,那么它会缩小整个图像以适应它,但保持纵横比?
标签: javascript jquery css image fancybox-2