2014-11-18 5 views
0

Привет Создал список воспроизведения видео с паузой и кнопкой запуска для каждого видео. Все работает, кроме изменения изображения кнопки.Как получить индекс выбранного элемента списка воспроизведения

Как получить текущий видеоиндекс и перейти к playPauseImg [0] ???

Вот некоторые из моего кода:

<span> 
    <input type="image" class="playPauseImg" id="playPauseImg" img src="../../Icons/Play Button Green 24 x 24.png" onClick="playPauseSelect();"> 
    <a href="../../Bridesmaid's Entrance Ceremony Music/Angel - Jack Johnson.mp3"> 
     <p class="playlist_btn_text">AAngel - Jack johnson</p> 
    </a> 
<span/> 
var video_playlist = document.getElementById("video_player"); 
var links = video_playlist.getElementsByTagName('a'); 
for (var i = 0; i < links.length; i++) { 
    links[i].onclick = handler; 
}; 


function handler(e) { 
    e.preventDefault(); 
    videotarget = this.getAttribute("href"); 
    filename = videotarget.substr(0, videotarget.lastIndexOf('.')) || videotarget; 
    video = document.querySelector("#video_player video"); 
    source = document.querySelectorAll("#video_player video source"); 
    source[0].src = filename + ".mp3"; 
    video.load(); 
    video.play(); 
    playPauseImg[0].src = "../../Icons/Audio Stop Button 24 x 24.png"; 
} 

function playPauseSelect() { 
    if (video.paused) { 
     video.play(); 
     playPauseImg[0].src = "../../Icons/Audio Stop Button 24 x 24.png"; 
    } else { 
     video.pause(); 
     playPauseImg[0].src = "../../Icons/Play Button Green 24 x 24.png"; 
    } 
}; 

ответ

0

Я не могу комментировать еще не так, поэтому я ответить. Интересно, когда вы используете id #video_player, также неясно, где вы используете jquery, пожалуйста, сообщите нам, почему вы добавили тег jquery. Кроме того, вы не имеете в виду ваш код или что-то, что говорит нам, что может быть так называемым видеоиндектором.

Угадав, что ответ на ваш вопрос может быть, я бы сказал: - Найти видеоиндекс - Найти соотношение между видеоиндестом и playPauseImg. - проведите через него и установите некоторые условия и сохраните значения.

+0

Hi Fleuv Я пытаюсь найти, чтобы получить выбранный индекс видео без успеха. id #video_player используется в следующей строке кода: \t video = document.querySelector ("# video_player video"); \t \t \t \t источник = document.querySelectorAll ("# video_player video source"); – Mike

+0

Привет, Fleuv Я пытаюсь найти, чтобы получить выбранный индекс видео без успеха. id #video_player используется в следующей строке кода: \t video = document.querySelector ("# video_player video"); Я не смог получить индекс выбранного видео, у меня есть видеоплеер с плейлистом ниже. нажатие на имя видео начнет воспроизведение видео, нажатие на другое начнет воспроизведение. в каждом видео в списке есть кнопка паузы воспроизведения. Проблема заключается только в том, что первая кнопка меняет изображение при нажатии любой из кнопок. Необходимо, чтобы изображение нажатой кнопки изменилось. – Mike

0

Что вам нужно, это clausure.

links[i].onclick = handler; 

должен быть изменен на

links[i].onclick = function(index){ 
    return function(evnt){ 
     handler.call(window,evnt,index); 
    } 
}(i); 

Теперь второй аргумент в обработчик получит индекс и изменить обработчик для поддержки индекса.

+0

Благодарим за код, который я уверен, теперь могу получить индекс для кнопок паузы/воспроизведения. Однако при нажатии на элемент в плейлисте он больше не воспроизводится ??? – Mike

+0

Hi neolivz4ever Я добавил ваш код, и теперь, когда вы выбираете песню, она открывает новую страницу и использует Qtime-плеер вместо html5-плеера. \t \t \t \t \t функция обработчика (окно, EVNT, индекс, е) { \t \t \t \t \t e.preventDefault(); \t \t \t \t \t videotarget = this.getAttribute ("index"); \t \t \t \t \t filename = videotarget.substr (0, videotarget.lastIndexOf ('.')) || videotarget; \t \t \t \t \t видео = документ.querySelector ("# video_player video"); \t \t \t \t \t источник = document.querySelectorAll ("# video_player video source"); \t \t \t \t \t источник [0] .src = имя_файла + ".mp3"; \t \t \t \t \t video.load(); \t \t \t \t \t \t video.play(); – Mike

+0

neolivz4ever Я изменил свой код ссылок на то, что вы рекомендовали, однако после двухдневных попыток я не могу заставить его работать в моей функции. Как изменить обработчик для поддержки индекса? – Mike

Смежные вопросы