2010-02-07 67 views
0

我需要做这样一件简单的事情,似乎没有任何常规的瑞士法郎玩家会满足我的需求,所以我认为我需要做这个解决方法。我只需要能够在高质量和低质量的.flv视频之间切换。用innerhtml代替内部JavaScript代码?

所以我想只是有两个按钮与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。

+0

当按下按钮时,代码已经运行,SWFObject创建...您可能需要做的不仅仅是重写脚本。 – Shog9 2010-02-07 01:36:45

+0

你能详细说说......吗? – Joel 2010-02-07 01:39:01

回答

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"> 
+0

这很好。谢谢! – Joel 2010-02-07 02:00:17

0

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

1

你应该做一个函数,它作为一个参数视频的网址,然后调用与paremeter的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> 
+0

也谢谢你使用这个版本。我最终选择了三个按钮,所以在这个示例中使用ID很有用! – Joel 2010-02-07 02:49:16