2010-02-07 5 views
0

내가 할 필요가있는 간단한 일이며 일반 swf 플레이어가 내 필요를 충족시키지 않는 것처럼 보일 수 있으므로이 해결 방법을 수행해야한다고 생각합니다. 난 그냥 높은 품질과 낮은 품질의. 비디오를 전환 할 수 있어야합니다.내부 자바 스크립트 코드를 innerhtml로 바꾸시겠습니까?

그래서 자바 스크립트의 innerhtml을 변경하기 위해 onclick 이벤트가있는 두 개의 버튼이 있다고 생각하지만 정확히 어떻게 알지는 못했다. 자바 스크립트 한 줄의 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_lower.flv

같은에 "/lessons/videos/BukaTiende.flv"링크를 내가 바꿀 필요가 전부입니다 : 여기 내 코드입니다 getElementById를 사용하여이 작업을 수행 할 수 있습니까?

jquery가 있습니다.

+0

버튼을 누르면 코드가 이미 실행되고 SWFObject가 생성됩니다. 스크립트를 다시 작성하는 것 이상의 작업이 필요할 수 있습니다. – Shog9

+0

당신은 정교 할 수 있습니까? – Joel

답변

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

0

사용자가 단추를 클릭 할 때 페이지에서 포함 된 개체를 제거한 다음 페이지에 추가하지만 다른 변수 값을 사용하여 스크립트를 다시 실행할 수 있습니다. SWFObject를 div에 넣으면 innerHTML = "";으로 div를 지울 수 있습니다. 당신은 매개 변수로 비디오의 URL을 받아 그 paremeter와 데 SWFObject를 호출하는 기능을한다

1

..

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'); 
} 
합니다 ( addVariable에서 통지 우리는 기능의 매개 변수를 사용) 당신이 그 (것)들에게

를 참조 할 수 있도록

다음

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

끄트머리에 처음으로 호출하여 버튼에 어떤 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

관련 문제