0

Youtube API を jQuery Anythingslider にバインドしようとしていますが、それを達成しています。

ここで、anyslider (Youtube API の「onPlayerStateChange」内) から定義された変数「newState 」をそのコールバックに渡す必要があります。これはコードです。最初に変数、次に anyslider です。

function onPlayerStateChange(newState) {
....
// other stuff not important 
....
}

jQuery.(document).ready(function() {

  jQuery('#myslider').anythingSlider({
    easing : "swing",
    width  : 500,
    ............
    ............
    onSlideComplete : function(){
                      jQuery('.button').click(function(){
                      if (newState == '3') {....}
                      });
                      }
    });
});

このコードは私を返します:「newState」は未定義です..明らかに..どうもありがとう

4

2 に答える 2

0

あなたのコメントに基づいて:

onPlayerStateChange には newState という引数があるので、次のようにしてその関数を呼び出すと思います

result = OnPlayerStateChange(1);

そのため、newState は常にその関数に対してローカルに定義されます。

他の関数で同じ値にアクセスしたい場合は、この変数をすべての関数の外のグローバル空間で定義する必要があります。

var newSate = 1 

(混乱を避けるために js ソースの一番上にあるかもしれません)

それが役立つことを願っています

于 2011-07-26T10:40:47.687 に答える
0

何をしようとしているのかわかりませんが、AnythingSlider の最新バージョンには、パネルが表示されると自動的にビデオの再生を継続し、表示されなくなるとビデオを一時停止するビデオ拡張機能があります。この拡張機能は現在、HTMl5、YouTube (embed & iframe)、および Vimeo (embed & iframe) をサポートしており、ビデオ wiki ページに JW Player と Flow Player (拡張機能なし) を制御するための追加コードがあります。

この拡張機能を使用していて、ビデオのステータスを取得する必要がある場合は、次の外部メソッドを使用してアクセスできます。

var slider = $('#slider').data('AnythingSlider'),
    index = slider.$currentPage.find('[id^=asvideo]')[0].id.replace(/asvideo/,''),
    status = slider.video.list[index].status;

: ステータスの値は、YouTube 動画の場合は数値であり、Vimeo 動画の場合は文字列 (「再生」、「一時停止」、および「終了」) です。HTML5 ビデオ ステータスには直接アクセスでき、ステータス変数はありません。

于 2011-07-29T23:11:34.363 に答える