为什么我的js函数只找到第一张图片
Why does my js function only find the first image?
我正在编写一个函数,该函数使用 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 中。在我的控制台中,我得到了所有图像等,但网址不同并不高兴,它们都与第一个相同。
可能是我愚蠢,但我尝试过各种各样的事情。
干杯
我对你的代码有一些疑问:
-
首先,有一些我不明白的地方:您正在检索图像 src 属性 (
var $mainImageSrc = $mainImage.attr('src');
),然后在完成侦听器中,您将用相同的值替换其值$('.the-image', $mainHolder).attr('src', $mainImageSrc)
.有原因吗? -
另一件事是关于这个指令
.transition({ opacity: 1 }, 300);
.它是一个 pxLoader 函数还是您使用另一个 jquery 插件来执行此操作,因为我不知道 jQuery 中的transition()
函数。您可以使用 jQuery 中可用的fadeIn()
函数。
请告诉我我是否错了,但您想在加载图像(从您的 cms)时显示加载微调器之类的东西,就像在这个 jsFiddle 中一样(如果您多次运行它,请清除浏览器缓存),不是吗?这段代码似乎有效,所以你能给我们更多的上下文吗?如何/何时调用loadThumbs()
函数?您是否有测试用例网址,或者您可以设置一个 jsFiddle ?
相关文章:
- 有人能提供一张ember数据与broswer's的持久层
- 更改路由后,运行一次js脚本
- jQuery只隐藏<tr>在一张桌子上
- 如何从三张图片中选择一张?其余的必须是看不见的
- 通过onclick事件将一张图片更改为6张图片
- Sequelize hasMany浏览另一张表
- jm按下停止步骤进入滚动的下一张幻灯片
- 我用JavaScript FIleReader读了一张图片,但是我无法得到图片的信息
- 当 Flickity 到达下一张或上一张幻灯片时的事件
- 如何每 10 秒调用一次 JS 函数,然后以角度激活一个函数
- 单击从一张图像切换到两张图像,然后再切换回一张图像
- 单击另一张图像,显示一张图像几秒钟
- 为什么bxSlider会打断我在最后一张幻灯片和第一张幻灯片之间的转换
- 用d3和topojson绘制一张地图
- 引导程序3转盘-随机选择下一张幻灯片
- 每张图片都比前一张少
- 三.js:在立方体贴图中仅更改一张脸的图像
- 如何在impress.js中将go添加到下一张幻灯片
- JS匹配游戏随机化除最后一张牌以外的所有牌
- bx滑块.js - 仅显示一张幻灯片