1

チュートリアルとして作成しているデモ ビデオがいくつかあります。リンクを使用してダイアログ ボックスを開き、そのボックスにデモ ビデオを配置しています。

ユーザーが完全なメモを表示することを選択したときに、同じ div を使用してページに他のメモを表示します。

メモを表示するために使用するコードは

    jQuery('span.Notes').live('click', function(){
var note=jQuery(this).data('note');

    jQuery('div#showNote').text(メモ);
       jQuery('div#showNote').append(' 
'); jQuery('div#showNote').dialog({ モーダル: 真、 閉じる:関数(){ jQuery('div#showNote').dialog('destroy').empty(); } }); });

デモビデオに使用するコードは非常に似ています。

jQuery('a.demoVid').click(関数(){
         var videoUrl=jQuery(this).attr('href');
       jQuery('div#showNote').dialog({
       モーダル: 真、
    高さ: 400,
    幅: 480、
    閉じる:関数(){
    jQuery('div#showNote').dialog('destroy').empty();
    }
    });
    swfobject.embedSWF(videoUrl,'showNote','480','390','8.0.0');
 false を返します。
 });

必要な数のメモをクリックすると、ダイアログが開き、メモが表示されます。ただし、demoVid をクリックするとダイアログが開きますが、ダイアログを閉じると、ページ上の他の「showNote」ダイアログが強制終了されるため、それ以上メモやデモ ビデオを開くことができません。

4

2 に答える 2

3

私の 2 番目の推測は、swfobject.embedSWF への呼び出しが何らかの方法で div#showNote を踏みにじっていて、jQuery を混乱させているということです。ダイアログ内の div にビデオを配置してみます。

jQuery('div#showNote').append('<div id="showVideo"></div>').dialog({ ... });
swfobject.embedSWF(videoUrl,'showVideo','480','390','8.0.0');
于 2010-04-16T05:23:03.467 に答える
3

ダイアログは をターゲットdiv#showNoteにしており、要素 ID はドキュメント内で一意である必要があります。div次のように、ダイアログ インスタンスごとに新しいインスタンスを作成するように変更する必要があります (未テスト)。

jQuery( $('<div class="note">') ).dialog({ ... 
   close: function() {
     $(this).dialog('destroy').empty();
   }
});
于 2010-04-16T04:01:51.027 に答える