Учитывая эти две переменные:
var all = $('audio');
var specific = $(this);
Где all
включает specific
, как я могу найти элемент, который приходит после specific
во all
коллекции?
Назначение: Когда один аудио-элемент заканчивается, я хочу начать следующий автоматически.
$('audio')
.each(function(){
this.onended = onEnded;
});
function onEnded(event)
{
var next = ?;
next.play();
}
Я бы предложил использовать index()
с селектором, чтобы он соответствовал:
var current = specific.index('audio'),
next = all.eq(current + 1);
Или, чтобы вернуться к первому, если нет следующего элемента аудио:
next = all.eq(current + 1 < all.length ? current + 1 : 0);
Рекомендации:
next
меньше, чемall.length
я думаю, но оно должно быть достаточно «безопасным», я думаю. Отредактировано, чтобы добавить альтернативу, которая проверяет и возвращается к первомуaudio
если нет «следующего» для воспроизведения.