Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对html5视频变量的OOP访问_Javascript_Jquery_Html_Oop - Fatal编程技术网

Javascript 对html5视频变量的OOP访问

Javascript 对html5视频变量的OOP访问,javascript,jquery,html,oop,Javascript,Jquery,Html,Oop,在OOP中,我无法访问html5视频的currentSrc变量 if (typeof vidPlayer === "undefined") { var vidPlayer = {}; } vidPlayer.videoObj = $('video'); vidPlayer.videos_list = [{ 'id': 0, 'name': '01_Main_entrance.mp4' }, { 'id': 1, 'name'

在OOP中,我无法访问html5视频的currentSrc变量

if (typeof vidPlayer === "undefined") {
var vidPlayer = {};
}
vidPlayer.videoObj = $('video');
vidPlayer.videos_list = [{
        'id': 0,
        'name': '01_Main_entrance.mp4'
    }, {
        'id': 1,
        'name': '03_Meeting_of_zones.mp4'
    }, {
        'id': 2,
        'name': '04_Goods_entrance.mp4'
    }, {
        'id': 3,
        'name': '05_Tissue_cultures.mp4'
}];

vidPlayer.changeVideo = function(selector) {
    console.log(this.videoObj);
    console.log(this.videos_list);
    var url = vidPlayer.videoObj[0].currentSrc;
    var url_arr = url.split('/');
    var file_name = url_arr[url_arr.length - 1];

    for (var i = 0; i < vidPlayer.video_list.length; ++i) {
        if (vidPlayer.video_list[i].name == file_name) {
            if ($(selector).attr('class') == 'next') {
                var id = carousel(vidPlayer.video_list[i].id,vidPlayer.video_list.length - 1,'+');
                var source = 'videos/' + vidPlayer.video_list[id].name;
                loadVideo(source);
            }
            if ($(selector).attr('class') == 'prev') {
                var id = carousel(vidPlayer.video_list[i].id,vidPlayer.video_list.length - 1,'-');
                if (vidPlayer.video_list[i].id == 0) {
                    var id = vidPlayer.video_list.length - 1;
                } else {
                    var id = vidPlayer.video_list[i].id - 1;
                }
                var source = 'videos/' + vidPlayer.video_list[id].name;
                loadVideo(source);
            }
        }

    }
}
if(视频播放器的类型==“未定义”){
var vidPlayer={};
}
vidPlayer.videoObj=$('video');
vidPlayer.videos_列表=[{
“id”:0,
“名称”:“01_主入口.mp4”
}, {
“id”:1,
'name':'03_会议区。mp4'
}, {
“id”:2,
“名称”:“04_货物_入口.mp4”
}, {
"id":3,,
“名称”:“05_组织培养。mp4”
}];
vidPlayer.changeVideo=功能(选择器){
console.log(this.videoObj);
console.log(此.videos\u列表);
var url=vidPlayer.videoObj[0].currentSrc;
var url_arr=url.split('/');
var file_name=url_arr[url_arr.length-1];
对于(变量i=0;i

因此,我无法访问属性currentSrc,我得到:uncaughttypeerror:无法读取未定义的属性“currentSrc”。

问题可能是,在将对象加载到结构之前,您使用其所有属性定义了对象。这是因为
脚本包含在html的相关部分之前。您需要在document ready事件中定义事件,甚至在以后运行的事件中定义事件,具体取决于如何生成html。基本上,当html中已经存在
$('video')
时,您必须确保正在调用它。

我添加了一些代码。在文档就绪函数thnx中启动对象后,它现在工作正常