我创建了这个autoslider:
每五秒钟,图像会发生变化。
那么我想要什么?我需要获取当前显示图像的名称,所以我做了什么? :
$('.images img').each(function()
{
if($(this).is(':visible'))
{
console.log($(this)); //this is visible
}
});
但结果呢?当我刷新页面时,我得到了这个:
Object[img thumb73.jpg]
Object[img thumb72.jpg]
Object[img thumb61h.jpg]
但我需要每隔五秒钟拍摄一张不同的照片,例如:
第一: 对象[img thumb73.jpg]
五秒钟后: 对象[img thumb72.jpg]
五秒钟后: 对象[img thumb61h.jpg]
五秒钟后: 对象[img thumb73.jpg]
等等。有人可以帮帮我吗?
答案 0 :(得分:0)
使用将保存当前显示图像的全局变量。像这样:
var shownImg;
function anim(selector) {
$(".images img", selector).first().appendTo($('.images', selector)).fadeOut(2000);
shownImg = $(".images img", selector).first().fadeIn(2000);
}
这样您将始终知道当前显示的图像。 以下是您更新的代码:http://jsfiddle.net/X9n6u/
答案 1 :(得分:0)
您当前正在记录DOM节点本身。试试这个只得到文件名:
$('.images img').each(function()
{
if($(this).is(':visible'))
{
var regex = /[A-Za-z0-9\.]+$/;
console.log(regex.exec(this.src)[0]);
}
});