2012-01-28 113 views
0

我有一個從數據庫建立起來的表。該循環通過創建一個行:當用戶點擊在表中的行它把它發送到DoNav功能啓動通過URL傳遞onclick流水遊戲

<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(); function 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和最後一次在body中的流水遊戲調用:

<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> 

點擊行無效,我看不到任何錯誤。很確定我正在將div和href的行爲混合在一起,這對於流水遊戲來說是不對的。事實上,我在這裏混合了太多東西,並想知道是否有一種更簡單的方法來創建onclick事件,然後在我繼續這個瘋狂的道路之前啓動流式播放器。注意我確實想保留飛濺圖像。

+0

你有一個例子地方? – Martin 2012-01-31 15:51:45

+0

看起來您正在附加一個空的錨標記,而不是在圖像上纏繞錨標記。另外,怎麼了與JS(...)的東西? – j08691 2012-01-31 21:26:47

回答

0

看看這個解。

http://jsfiddle.net/SAZd4/

開始我存儲在一個HTML5數據結構的視頻網址。這是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

小提琴,小提琴很好用。但在我的代碼中,我得到:'$(「td.video」)爲null'。不確定可能的差異。我在tr中有多個td元素,但我將它添加到你的小提琴中,並且仍然可以正常工作。唯一的另外一點是這個表是動態的,並且是從循環構建的。不知道這是否與衆不同? – Tom 2012-02-01 02:38:41

+0

@TomPepernic - 你的td上有他們的班'視頻'嗎?該選擇器意味着,無論何時點擊'class = video'的'td',都要執行此操作。 – mrtsherman 2012-02-01 20:07:58

+0

是的,我完全複製你的東西。我單獨嘗試了你的代碼,並得到了同樣的結果。所以一定是我的配置的東西? – Tom 2012-02-01 20:18:51

0

我不知道這可能是問題,但你錯過了這條線的雙引號:

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

您應該修正如下:

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