0

少し異なる検索を行ったときに、別のStackOverflowQで答えを見つけました。コードの重要な行は次のとおりです。

var videoFile = $(this).find('.vid_file').text();

'this'で各videoLinkdivを参照すると、videoLink内のvid_file divが検索され、テキストが読み取られます。うまくいけば、それは他の誰かを助けるでしょう!

HTML、XML、JQueryを使用して動的なビデオギャラリーを作成しています。XMLファイルを読み込んだ後、各ビデオ(.videoLink)の動的divを作成するHTML文字列を出力します。そのdiv内には、ビデオキャプション、背景.jpgのパス、およびビデオファイルの名前(.vid_file)を保持する子divがあります。それはすべて正しく機能しています。しかし、各.vid_fileの一意の値を抽出するのに問題があります(dbaseに6つのテストビデオがあります)。これが私が使用しているコードです:

$('.videoLink').click(function(e){
    e.preventDefault();
    $('vid_file').each(function (){
    var videoFile = $(this).text();

    var videoCode = '<video controls autoplay autobuffer>' +
        '<source src="video/'+videoFile+'.ogv" type="video/ogg" />' +
        '<source src="video/'+videoFile+'.mp4" type="video/mp4" />' +
        '</video>';

    $('#videoPlayer').html(videoCode);

など(私はfancyboxを使用してビデオを表示しています-それは機能しています)。上記のコードで何が起こるかというと、1つをクリックすると、すべて再生されます。私はそれがまさにこのコードでやろうとしていることだと思いますが、多くのバリエーションを試し(.eachメソッド内にクリックイベントをネストする、その逆など)、それらをまったく再生させるのが最も近いですそれを機能させるために行ってきました。だから私はもうすぐそこにいると思います。しかし、完全ではありません。私は何が欠けていますか?よろしくお願いします。-シェリル

4

1 に答える 1

1

セレクターのドットが欠落しているようです。したがって、次を使用します。

$('.vid_file').each(function (){
    var videoFile = $(this).text();

    var videoCode = '<video controls autoplay autobuffer>' +
        '<source src="video/'+videoFile+'.ogv" type="video/ogg" />' +
        '<source src="video/'+videoFile+'.mp4" type="video/mp4" />' +
        '</video>';

    $('#videoPlayer').html(videoCode);
}
于 2012-07-18T09:59:39.510 に答える