gpt4 book ai didi

jquery - 等待使用 JQuery 加载图像

转载 作者:行者123 更新时间:2023-12-01 02:09:12 26 4
gpt4 key购买 nike

我试图等待图像加载完成,但加载事件似乎从未匹配。

这是我的代码:

$(function() {
var arrowWidth = 22;
var currentImageID = -1;
var imageOffsets = new Array();
var loadedImages = 0;
var numberOfImages = $("div#sliderGallery > ul > li").size();

$("div#sliderGallery > ul").hide();
$("div#sliderGallery").append("<div id=\"loading\"></div>");
$("div#sliderGallery > div#loading").append("Chargement en cours ...<br>");
$("div#sliderGallery > div#loading").append("<img src=\"progressbar.gif\" />");

function setOffset(imageID) {
if (imageID != currentImageID) {
$("ul#slide_items > li > img#"+currentImageID).fadeTo(0, 0.2);
currentImageID = imageID;
$("ul#slide_items > li > img#"+currentImageID).fadeTo("slow", 1);
$("div#sliderGallery > ul").css("left", imageOffsets[imageID][0]+"px");
$("div#slideGallery > span.arrow").css("width", imageOffsets[imageID][1]+"px");
$("div#sliderGallery > span#left").css("left", imageOffsets[imageID][2]+"px");
$("div#sliderGallery > span#right").css("left", imageOffsets[imageID][3]+"px");
}
}


$("div#sliderGallery > ul > li > img").load(function() {
alert("never executed ...");

loadedImages++;
if (loadedImages == numberOfImages) {
$("div#sliderGallery > div#loading").remove();
$("div#sliderGallery").css("overflow", "hidden");
$("div#sliderGallery > ul").show();
$("div#sliderGallery").append("<span id=\"left\" class=\"arrow\"><img src=\"arrow_left.png\" /></span>");
$("div#sliderGallery").append("<span id=\"right\" class=\"arrow\"><img src=\"arrow_right.png\" /></span>");
$("div#slideGallery > span.arrow").fadeTo(0, 0.5);
$("div#slideGallery > span.arrow").css("padding-top", Math.round((600-146)/2)+"px");

var ulWidth = $("div#sliderGallery").innerWidth();

var imageID = 0;
var imageWidthSum = 0;
$("div#sliderGallery > ul > li > img").each(function() {
image = jQuery(this);
image.attr("id", imageID);
image.fadeTo(0, 0.2);

imageOffsets[imageID] = new Array();
// Offset applied to images
imageOffsets[imageID][0] = Math.round(ulWidth/2-(imageWidthSum+image.innerWidth()/2));
// Width applied to span
imageOffsets[imageID][1] = Math.round(image.innerWidth()/2+arrowWidth);
// Offset apply to the left span
imageOffsets[imageID][2] = Math.round($("div#sliderGallery").offset().left+ulWidth/2-imageOffsets[imageID][1]);
// Offset apply to the right span
imageOffsets[imageID][3] = imageOffsets[imageID][1]+imageOffsets[imageID][2];

imageID++;
imageWidthSum += image.innerWidth();
});

setOffset(0);
}
});

});

和 html 代码: link text

为什么这一行“alert(”从未执行过...”);”没有被执行?

预先感谢,这个问题我快要疯了:)

最佳答案

我编写了一个插件,当后代图像下载完成时会触发回调。类似于本地化的 window.onload

它的名字是 waitForImages用法是...

$('selector').waitForImages(function() {

alert('All images are loaded.');

});

Readme .

它还可以配置为等待 CSS 中引用的图像。

关于jquery - 等待使用 JQuery 加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1098788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com