Javascript 从jQuery中的href标记加载div中的内容
我想在幻灯片中显示之前加载所有图像。我一直在寻找,但似乎什么都不管用。这是我到目前为止所做的,但它不起作用。我正在从另一个div的Javascript 从jQuery中的href标记加载div中的内容,javascript,jquery,html,Javascript,Jquery,Html,我想在幻灯片中显示之前加载所有图像。我一直在寻找,但似乎什么都不管用。这是我到目前为止所做的,但它不起作用。我正在从另一个div的标记加载图像 $('.slideshow').load(function(){ if (loaded<length){ first = $(settings.thumb).eq(loaded).find('a').attr("href"); $('<img src="'+first1+'"/>').append
标记加载图像
$('.slideshow').load(function(){
if (loaded<length){
first = $(settings.thumb).eq(loaded).find('a').attr("href");
$('<img src="'+first1+'"/>').appendTo('.slideshow');
}
else{ $('.slideshow').show(); }
loaded++;
});
$('.slideshow').load(函数(){
如果(已加载在浏览器加载完图像后,为每个图像添加一个事件侦听器以响应,则将其附加到幻灯片中
var $images = $("#div_containing_images img");
var numImages = $images.length;
var numLoaded = 0;
var $slideshow = $(".slideshow");
$images.each(function() {
var $thisImg = $(this);
$thisImg.on("load", function() {
$thisImg.detach().appendTo($slideshow);
numLoaded++;
if (numLoaded == numImages) {
$slideshow.show();
}
});
});
如果图像加载失败,最好也监听错误
事件。这样,您可以增加加载的
来解释损坏的图像。否则,如果图像损坏,您的幻灯片将永远不会显示
还要注意的是,通过调用detach()
然后调用appendTo()
我正在DOM中移动图像。如果要复制图像,请使用clone()
而不是detach()
*编辑以修改用户的确切用例*
var $images = $("li.one_photo a");
var numImages = $images.length;
var numLoaded = 0;
$images.each(function() {
$('<img />',
{ src: $(this).attr("href") })
.appendTo('.slideshow')
.on("load error", function() {
numLoaded++;
if(numLoaded == numImages) {
$('.slideshow').show();
}
});
});
var$images=$(“li.one_photo a”);
var numImages=$images.length;
var numload=0;
$images.each(函数(){
$('
*编辑#2*
var $images = $("li.one_photo a");
var numImages = $images.length;
var numLoaded = 0;
$images.each(function() {
$('<img />',
{ src: $(this).attr("href") })
.appendTo('.slideshow')
.on("load error", function() {
numLoaded++;
if(numLoaded == numImages) {
$('.slideshow').show();
}
});
});
刚刚意识到您正在将所有内容放入$(“.slideshow”).load()函数中。因为$(“.slideshow”)
表示一个DIV,它永远不会引发load
事件,相应的函数也永远不会执行。上面进行了相应的编辑。我们需要更多信息。加载了什么?长度是多少?
可能是您的HTML标记。“它不起作用”通常不太受欢迎。您可以阅读控制台吗?也许这可以帮助您它是一个库,可以帮助您检测图像加载。在幻灯片中实现自动播放之前,我正在尝试缓存或加载标签中的图像。我没有使用加载功能,但每次加载新图像时,它都会将我放在页面顶部。a在图像播放一次之后,一切都很好。这就是为什么我认为如果我首先加载或缓存图像,这将不会发生。Thnx:-)…还有一个问题,应该从标记中加载图像。如何从中加载链接?您可以完全按照上面所做的操作创建附加到幻灯片中的新图像元素。但是,您仍然需要将事件侦听器添加到附加的每个图像,而不是立即递增的加载。然后在加载
或错误
事件触发时增量加载。我在回答中添加了增量,以显示您可以如何准确完成您正在尝试的操作。