Показать сообщение отдельно
  #3 (permalink)  
Старый 20.02.2015, 14:35
Интересующийся
Отправить личное сообщение для arcmag Посмотреть профиль Найти все сообщения от arcmag
 
Регистрация: 06.02.2015
Сообщений: 29

То есть надо написать как то так?

var all_video = [];
function Video_designer(){
    this.videoBlock; 
    this.video;
    this.PlayPause;
    this.StopV;
}
Video_designer.prototype.fPlay = function(){
	this.video.play();
};
Video_designer.prototype.fStop = function(){
	this.video.stop();
};
window.onload = function(){
    mas_video = document.getElementsByClassName("videoBlock");
    for(var i=0; i<mas_video.length; i++){
        var newObj = new Video_designer;
        newObj.videoBlock = mas_video[i]; // получаем блок обертку в которой находится видео
        newObj.video = mas_video[i].childNodes[3]; // получаем видео
        newObj.PlayPause = mas_video[i].childNodes[5].childNodes[1]; // получаем кнопку при нажатии которой запускается видео
        newObj.StopV = mas_video[i].childNodes[5].childNodes[3]; // получаем кнопку при нажатии которой выключается видео 
        newObj.PlayPause.addEventListener("click",newObj.fPlay); // добавляем событие к кнопке что бы при нажатии видео начинало проигрываться
        all_video.push(newObj); // записываем текущий объект видео в массив и создаем новый объект видео если они еще имеются на странице
    }
}


Все равно не работает, в консоли появляется такая ошибка
Uncaught TypeError: Cannot read property 'play' of undefined
То есть как мне кажется проблема в том что метод почему то не видит this.video объекта для которого я вызываю play().
Хотя может я и ошибаюсь, но почему так не могу понять.
Ответить с цитированием