Я создал этот автосъемщик:
Каждые пять секунд изображение меняется.
Так что я хочу? Мне нужно получить имя отображаемого в настоящее время изображения, так что я сделал? :
$('.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]
и т.д. кто-нибудь мог мне помочь?
Используйте глобальную переменную, которая будет удерживать текущее отображаемое изображение. Что-то вроде этого:
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/
Вы в настоящее время регистрируете узел DOM. Попробуйте это, чтобы получить только имя файла:
$('.images img').each(function()
{
if($(this).is(':visible'))
{
var regex = /[A-Za-z0-9\.]+$/;
console.log(regex.exec(this.src)[0]);
}
});