2010-02-07 121 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