我尝试开发一个页面,我必须使用setTimeout函数,因为我需要在两秒钟后在我的页面加载我的视频。
为了做到这一点,我写了这个,
window.onload = function () {
player = new Player('playerObject');
setTimeout(player.playByUrl($mp4Link),3000);
}
但这不起作用为什么?
答案 0 :(得分:3)
使用回调:
setTimeout(function(){
player.playByUrl($mp4Link);
},3000);
使用之前的语句,代码正在执行 (因为您通过指定param和括号直接调用它,例如playByUrl($mp4Link)
)而{{1需要回调。
答案 1 :(得分:3)
您无法为该功能添加参数。但是你可以简单地使用匿名函数作为回调并在那里调用函数(带参数)。
window.onload = function () {
player = new Player('playerObject');
setTimeout(function() {
player.playByUrl($mp4Link);
}, 3000);
}
答案 2 :(得分:1)
setTimeout需要一个函数
window.onload = function () {
player = new Player('playerObject');
setTimeout(function(){
player.playByUrl($mp4Link);
},3000);
}
答案 3 :(得分:1)
您需要将function
引用传递给setTimeout
,但我想.playByUrl()
的返回值不是函数。所以要么选择
setTimeout(function() {
player.playByUrl($mp4Link);
},3000);
或使用ES5 .bind()
setTimeout(player.playByUrl.bind(null,$mp4Link),3000);
答案 4 :(得分:0)
player.playByUrl($mp4Link)
是返回的值。
试
setTimeout("player.playByUrl($mp4Link)",3000);
或
setTimeout(player.playByUrl,3000, $mp4Link);
后者不适用于IE,因此应进行修改。
答案 5 :(得分:-1)
尝试添加player.load();
,如下所示:
player.load();
setTimeout(function(){
player.setAttribute("src","http://www.w3school.com.cn/example/html5/mov_bbb.mp4");
player.play();
},5000)