如何在HTML页面中显示Javascript / Jquery值? VideoJs显示视频的持续时间

时间:2013-11-11 20:18:54

标签: javascript jquery html

您好我正在使用HTML5 Jquery视频播放器。 在这里,您可以获得有关此HTML视频播放器的更多信息:http://www.videojs.com/docs/api/

通过此链接,您可以看到myPlayer.duration()是必须以秒为单位显示视频内容的功能。这就是我只想在简单的HTML页面中显示这个值,就像我正在尝试使用我的代码一样。

这是我的代码:

 <head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
</head>
  <video id="vemvo-player" class="video-js vjs-default-skin" controls autoplay="true" width="950" height="534"
      data-setup="{}">
    <source src="[var.base_url]/uploads/[var.video_play]" type='video/flv' />
  </video>
<div id="duration"></div>
<script type="text/javascript">
        var myPlayer = _V_("vemvo-player");
    _V_("vemvo-player").ready(function(){
        var howLongIsThis = myPlayer.duration();
        $('#duration').html('Duration: ' + howLongIsThis);
    });
</script>

此代码的问题在于,当视频时长远离0时,它会显示Duration: 0

我的视频播放器工作正常,它正确显示视频的嗡嗡声。 我的问题是如何在HTML页面值中显示这种情况?

使用上面的代码,当我将var myPlayer = _V_("vemvo-player");发布到_V_("vemvo-player").ready(function(){函数中并尝试在控制台中运行myPlayer.duration()时,它给出了未定义变量的错误,但是当var myPlayer = _V_("vemvo-player");时是在我的帖子之外的功能之外,我在控制台中输入myPlayer.duration()它就像我需要的那样在几秒钟内给我带来的刺激。

问题是我可以在HTML页面中将此变量显示为数字。 我只是想在HTML页面中显示这个数字。

我的代码中的错误在哪里以及如何修复它?

提前致谢!

2 个答案:

答案 0 :(得分:2)

<script type="text/javascript">
var myPlayer = _V_("vemvo-player");
_V_("vemvo-player").ready(function(){
   // Any ready/init code you want here
   $('#duration').html('Duration: ');        
});
myPlayer.addEventListener('loadedmetadata', function() {
    $('#duration').html('Duration: ' + myPlayer.duration);
});
</script>

Source

答案 1 :(得分:0)

您是否尝试将变量声明保留在函数外部,但是内部的赋值是什么?

<script type="text/javascript">
    var myPlayer;
    _V_("vemvo-player").ready(function(){
        myPlayer = _V_("vemvo-player");
        var howLongIsThis = myPlayer.duration();
        $('#duration').html('Duration: ' + howLongIsThis);
    });
</script>