我正在编写一个显示相册的网站,该页面正在加载拇指并在每张图片完全加载之前在它们上应用白色叠加层。
我在本地编写了这个代码,效果很好。
但是在我的服务器上上传文件并加载页面会带来一些显示错误,一些白色覆盖层不会淡出,因为 jQueryload函数不会被触发,因为图像在脚本加载和应用之前加载。
解决方案是仅对执行 jQuery 脚本时仍在加载的图像应用白色覆盖。
我的问题是如何知道页面中的特定元素是否仍在获取或已完全呈现在屏幕上?
NOTE :这是页面http://www.benjamindegenne.com/portfolio/numeric/upper-playground/ http://www.benjamindegenne.com/portfolio/numeric/upper-playground/
Updates
之前的解决方案是不正确的。 (感谢@donut)。
这是使用 jQuery 执行此操作的另一种简单方法 -
$(function() {
$("<img src='img_01.jpg' />").load(function() {
// Image img_01.jpg has been loaded
});
});
JavaScript罢工>
在 JavaScript 中使用图像预加载 -
img1 = new Image();
img1.src = "image.jpg";
// at this line image.jpg has been loaded
After img1.src = "image.jpg";
,您可以确保图像已加载并且您可以编写您的业务逻辑
jQuery
这是一个简单的 jQuery 插件来完成这个任务 -
// image preloading plugin
$.fn.preload = function () {
this.each(function () {
$('<img/>')[0].src = this;
// at this line "this" image has been loaded
});
};
使用示例 -
var imagesToPreload = ["img01.jpg", "img02.jpg", "img03.jpg"];
imagesToPreload .preload();
// at this line all images has been loaded
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)