JQuery получить видимый параметр

0

Я создал этот автосъемщик:

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]

Но мне нужно каждые пять секунд другое изображение, например:

Сначала: Object [img thumb73.jpg]

Пять секунд спустя: Object [img thumb72.jpg]

Пять секунд спустя: Object [img thumb61h.jpg]

Пять секунд спустя: Object [img thumb73.jpg]

и т.д. кто-нибудь мог мне помочь?

  • 0
    Похоже, хорошо работает на моем. в чем именно проблема?:
  • 0
    Вы должны выполнять приведенный выше код каждые 5 секунд
Показать ещё 1 комментарий
Теги:
each
function
slide

2 ответа

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/

  • 0
    гредт работает! Спасибо!
0

Вы в настоящее время регистрируете узел DOM. Попробуйте это, чтобы получить только имя файла:

$('.images img').each(function()
{
    if($(this).is(':visible'))
    {
        var regex = /[A-Za-z0-9\.]+$/;        
        console.log(regex.exec(this.src)[0]);
    }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню