用innerhtml替换内部javascript代码?

时间:2010-02-07 01:25:06

标签: javascript jquery

我需要做的这么简单的事情,看起来似乎没有任何常规的瑞士法郎玩家会满足我的需求,所以我认为我需要做这个解决方法。我只需要能够在高质量和低质量的.flv视频之间切换。

所以我想只有两个带onclick事件的按钮来改变javascript的innerhtml,但我意识到我并不确切知道如何。我可以创建一行javascript的id,还是应该替换整个东西?这是我的代码:

<script type="text/javascript">
var so = new SWFObject('/lessons/videos/player.swf','mpl','610','480','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addVariable('file','/lessons/videos/BukaTiende.flv');
so.write('mediaspace');
</script>

</div></div>
<input type="button" value="low"><input type="button" value="high">

在上面的代码中,我需要更改的是“/lessons/videos/BukaTiende.flv”链接,例如/lessons/videos/BukaTiende_lower.flv

我可以使用getElementById吗?

我确实有jquery。

3 个答案:

答案 0 :(得分:1)

你应该创建一个函数,将视频的url作为参数,然后使用该参数调用swfObject。(注意 addVariable 我们使用函数的参数

function loadVideo( pUrl )
{
var so = new SWFObject('/lessons/videos/player.swf','mpl','610','480','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addVariable('file', pUrl);
so.write('mediaspace');
}

然后在第一次使用

添加调用
<script type="text/javascript">
       loadVideo('/lessons/videos/BukaTiende.flv');
</script>

aslo为你的按钮添加一些id,以便你可以引用它们

<input type="button" value="low" id="low">
<input type="button" value="high" id="high">

然后将点击事件添加到按钮..

<script type="text/javascript">
   $(document).ready(
     function(){
        $('#low').click( function(){ loadVideo('/path/to/lowversion.flv') } );
        $('#high').click( function(){ loadVideo('/path/to/highversion.flv') } );
     }
   );
</script>

答案 1 :(得分:1)

我建议将这些命令封装在一个函数中,并在点击时将一个或另一个视频作为参数运行。

你说你有jQuery,所以不妨用它来点击按钮。

<script type="text/javascript">
  function launch_video(quality){

    video_qual=(quality=='high')? '' : '_lower';

    var so = new SWFObject('/lessons/videos/player.swf','mpl','610','480','9');
    so.addParam('allowfullscreen','true');
    so.addParam('allowscriptaccess','always');
    so.addVariable('file','/lessons/videos/BukaTiende'+video_qual+'.flv');
    so.write('mediaspace');
    }

  $(document).ready(function(){
    $('.vid_button').click(function(){launch_video($(this).val());});
    });

</script>

</div></div><!-- I guess I'll leave those random divs in there-->

  <input class='vid_button'  type="button" value="low">
  <input class='vid_button' type="button" value="high">

答案 2 :(得分:0)

当用户单击按钮时,您可以从页面中删除嵌入对象,然后重新运行将其添加到页面的脚本,但具有不同的变量值。如果你将SWFObject放在div中,那么你可以通过设置innerHTML =“”来清除div;