如何加速 jQuery 图片库
How to speed up a jQuery image gallery?
我正在处理一个网页,我正在尝试加快在图库中加载图像所需的时间。您可以在此处查看图库:
www.imagethrow.com/design-studio-all-throws.html
这是库的 HTML 部分:
<a class="imgLink" href="path-to-the-image.jpg">Image name</a>
<img src="" id="theImage">
j查询:
<script>
$(document).ready(function(){
$('.imgLink').click(function(){
var imgPath = $(this).attr('href');
$('#theImage').attr('src',imgPath);
return false;
});
});
图像已经过优化/压缩,我已经实现了缓存控制设置。如有任何建议,我将不胜感激。
谢谢
Jpg 而不是 Png
使用 Jpg 图像而不是 Png。像 http://www.imagethrow.com/img/design-studio/2.5_Layer_Throw/Little_Caesars.png 这样的图片可以很容易地从 380KB 恢复到大约 100 KB,如果你把它保存为高质量 (80) Jpg。
请注意,Jpg 不支持透明度,因此您必须将图片中的透明边缘设置为白色。
此外,Jpg是有损的,这意味着在保存图片时会丢失少量细节。不过,这几乎不值得注意,尤其是对于图片。此外,您可以尝试并选择文件大小和质量之间的最佳平衡。
网络P
如果这还不够,您可以尝试 WebP,这是 Google 的一种全新的图像格式,但显然目前并非所有浏览器都支持它,所以我认为您不应该开始使用它,或者只是作为最后的手段和适当的后备。
预加载
除此之外,您还可以预加载图像。这意味着您开始在后台加载所有图像。但是,我不会推荐它用于这样的画廊。用户可能不会打开每个图像,预加载会占用大量带宽。特别是对于使用有限(移动)数据计划的用户,如果您在后台下载数兆字节的图像,当他们甚至不想看到所有图像时,这不是很好。
您可以通过预加载来改进它。您可以选择全部预加载它们,也可以在用户将鼠标悬停在链接上时预加载它们。
$(document).ready(function(){
$('.imgLink').click(function(){
var imgPath = $(this).attr('href');
$('#theImage').attr('src',imgPath);
return false;
}).one("mouseenter",function(){
var img = createElement("img");
img.src = $(this).attr('href');
});
});
如果您可以在用户将鼠标悬停在链接附近时让它开始预加载,而不是等到他们实际悬停在链接本身上,那就更好了。
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 图片库问题jquery
- Javascript 滑动图片库 - 没有 jQuery
- 页面高度受jQuery图片库的影响
- jquery图片库幻灯片动画
- jquery图片库显示加载程序gif
- 我正在使用jQuery图片库以各种颜色显示相同的产品.我想在点击时更改动画
- jQuery FancyBox图片库中的推拉门效果
- 在我的图片库中实现滑动(Jquery)
- jquery动态图片库弹出显示所有图片
- 如何制作jquery旋转缩略图jquery图片库
- 如何制作显示器“;AJAX Loading.gif”;在图片库部分?(jQuery)
- Jquery Lightbox 2-点击图片库按钮
- 如何在Galereya jquery图片库中删除GENERAL CATEGORY
- 如何加速 jQuery 图片库
- Jquery灯箱图片库上单独的缩略图点击