JQuery获得可见参数

时间:2014-02-23 16:15:48

标签: javascript jquery function each slide

我创建了这个autoslider:

http://jsfiddle.net/5H5Xq/45/

每五秒钟,图像会发生变化。

那么我想要什么?我需要获取当前显示图像的名称,所以我做了什么? :

$('.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]

等等。有人可以帮帮我吗?

2 个答案:

答案 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]);
    }
});