2015-04-15 3 views
3

У меня есть таблица:JQuery цикл через таблицу

<table class="table table-striped"> 
    <thead> 
     <tr> 
      <th>Music</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td><a href="http://www.domin.com/link1.mp3">link1</a></td> 
     </tr> 
     <tr> 
      <td><a href="http://www.domin.com/link2.mp3">link2</a></td> 
     </tr> 
     <tr> 
      <td><a href="http://www.domin.com/link3.mp3">link3</a></td> 
     </tr> 
    </tbody> 
</table> 

У меня также есть две кнопки, next и prev:

<button id="prev">Previous</button> 
<button id="next">Next</button> 

Я хочу, чтобы каждый раз, нажмите на следующей или предыдущая кнопки установить класс play для активную строку и получить play mp3-адрес и установить в jplayer с помощью этой функции:

$('.play')(function() { 
    var url = $(this).attr('href'); 
    $("#jquery_jplayer_1").jPlayer("setMedia", { 
     mp3: url 
    }).jPlayer("play"); 
    return false; 
}); 
+0

Вы вопрос немного неясным, что вопрос вы с? – BMac

+1

@Macb Я хочу что-то вроде этого сайта http://mulesic.com/. У меня есть список mp3-ссылок и jplayer, и я использовал jquery, чтобы играть каждую ссылку, когда пользователь нажимает на них, моя проблема в том, что я не знаю, как создать функциональность, чтобы пользователи могли играть в следующую и предыдущую ссылку. – alireza

ответ

2

Я добавил класс play к одному из a в таблице. Next начинается с первой строки. Prev начинается с последней строки. Затем переместите строчные строки и петлю, если они попадут в верхнюю/нижнюю часть.

JSFiddle Demo

$('#next').click(function() { 
    if ($('table td a.play').length > 0 && $('table td a.play').parents('tr').next().length > 0) { 
     $('table td a.play').removeClass('play').parents('tr').next().find('a').addClass('play'); 
    } else { 
     $('table td a.play').removeClass('play'); 
     $('table td').first().find('a').addClass('play'); 
    } 
}); 

$('#prev').click(function() { 
    if ($('table td a.play').length > 0 && $('table td a.play').parents('tr').prev().length > 0) { 
     $('table td a.play').removeClass('play').parents('tr').prev().find('a').addClass('play'); 
    } else { 
     $('table td a.play').removeClass('play'); 
     $('table td').last().find('a').addClass('play'); 
    } 
}); 
Смежные вопросы