2012-01-28 8 views
0

私はデータベースからビルドされたテーブルを持っています。すなわち、行作成することをループ:ユーザーは、それが起動するDoNav機能に送信し、テーブル内の行をクリックするとonclickでurlをフロープレーヤに渡す

<tr > 
    <td onclick="DoNav('<?php echo $result_videos[$i]["video_url"]; ?>');"> 
    <?php echo $result_videos[$i]["camera_name"]; ?> 
    </td> 
    <td onclick="DoNav('<?php echo $result_videos[$i]["video_url"]; ?>');"> 
    <?php echo setlocalTime($result_videos[$i]["video_datetime"]); ?> 
    </td> 
.... 
</tr> 

をflowplayer: VARのJS = jQuery.noConflict()。 関数DoNav(theUrl) { // flowplayer( "player"、 "flowplayer/flowplayer-3.2.7.swf"、theUrl); var mydiv = js( "#player"); var $ myhref = js( ""); mydiv.append($ myhref); }

私はhrefとしてプレーヤーを構築しようとしています。これはhrefで、コメント行とは違う必要があります(前には動作していましたが、iOSのサポートには役立ちません)

ここには私が前に使ったdivと、体内のflowplayerの最終呼び出し:

<div id="player" style="display:block;width:320px;height:240px;background-image:url(images/videoPlaceHolder01.JPG)"></div> 
<script language="JavaScript"> 
flowplayer("player", "flowplayer/flowplayer-3.2.7.swf"); 
</script> 

行をクリックすると何も起こりません。エラーは表示されません。私は正しく動作していないflowplayerのdivとhrefとの動作を混同しています。実際に私はここであまりにも多くのものを混在させ、この狂った道を続ける前にonclickイベントを作成してflowplayerを起動する簡単な方法があるのだろうかと思っています。私はスプラッシュイメージを保持したいと思います。

+0

あなたはどこにも例がありますか? – Martin

+0

画像の周りにアンカータグをラップするのではなく、空のアンカータグを追加しているようです。また、js(...)のものは何ですか? – j08691

答えて

0

は、このを見てみましょう溶液。

http://jsfiddle.net/SAZd4/

私はHTML5のデータ構造に動画のURLを保存を開始します。これはdata-videourlです。 jQueryのデータメソッドを使用してこの値を取得できます。次に、tdのclickイベントを監視してURLを取得し、必要なパラメータを含むjQueryリンクオブジェクトを作成します。最後に、フロープレーヤコードを使用してプレーヤをインスタンス化する必要があります。

<table> 
    <tr > 
     <td class="video" data-videourl="http://pseudo01.hddn.com/vod/demo.flowplayervod/flowplayer-700.flv">Video X</td> 
    </tr> 
</table> 

 

$('td.video').click(function() { 
    //get video url from data-videourl html5 param 
    var videourl = $(this).data('videourl'); 

    //create a link tag to contain the video 
    var $video = $('<a />', { 
     href: videourl, 
     id: 'player' 
    }); 

    //append link to page 
    $('body').append($video); 

    //instantiate flowplayer on new video object 
    flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf", { 
     clip: { 

      // these two configuration variables does the trick 
      autoPlay: true, 
      autoBuffering: true // <- do not place a comma here 
     } 
    }); 
}); 
+0

Hrmm、フィドルは素晴らしい作品です。しかし私のコードでは、 '$(" td.video ")がnullです。違いがどこにあるかわからない。私はtrに複数のtd要素を持っていますが、私はそれをあなたのフィドルに加えましたが、それでもうまくいきます。唯一のもう1つは、このテーブルが動的でループから構築されていることです。違いがあるかどうか分かりませんか? – Tom

+0

@TomPepernic - あなたのtdのクラスに「ビデオ」はありますか?そのセレクタは 'class = video'の' td'がクリックされるたびにこれを行います。 – mrtsherman

+0

はい、あなたの持っているものを正確にコピーしました。私はちょうど別にあなたのコードを試して、私は同じことを得る。だから私の設定で何かする必要がありますか? – Tom

0

私はこれが問題になる可能性があるかはわからないが、あなたはこのラインで二重引用符を逃した:

var $myhref = js("<a href=" + theUrl + " id=player></a>"); 

次のように、修正する必要があります:

var $myhref = js("<a href=\"" + theUrl + "\" id=\"player\"></a>"); 
関連する問題