我正在编写一个函数,它使用 pxLoader 在一组拇指中加载图像。当它们被加载时,它会隐藏加载器并淡入图像。这是标记:
<div style="margin-bottom:1px;" class="rsNavItem rsThumb front">
<div class="rsTmb portfolio">
<img class="the-image" src="<!-- image loaded from cms -->">
<div class="image-loader"></div>
</div>
</div>
然后这是我的js函数:
loadThumbs: function () {
var app = this;
$('.rsThumb').each( function () {
var $mainHolder = $(this).find('.rsTmb');
var $mainImage = $mainHolder.find('img');
console.log($mainImage);
$mainImage.addClass('the-image');
$mainImage.parent().append('<div class="image-loader"></div>');
var $mainImageSrc = $mainImage.attr('src');
// //
// Load the thumbs //
// ------------------------------------------------- //
var pxLoader = new PxLoader();
var pxImage = pxLoader.addImage($mainImageSrc);
pxLoader.addCompletionListener(function () {
$('.image-loader').hide();
$('.the-image', $mainHolder)
.attr('src', $mainImageSrc) // Update the image source
.transition({ // Fade the image in
opacity: 1
}, 300);
});
pxLoader.start();
});
}
由于某种原因,当迭代图像以在完成时替换图像时,它会找到第一个并将其加载到所有 div 中。在我的控制台中,我得到了所有的图像等,但对于不同的 url 并不满意,它们都与第一个相同。
可能是我很愚蠢,但我已经尝试过各种各样的事情。
干杯