2011-07-12 27 views
2

私たちは、いくつかの他のビデオのいくつかのムービーとビデオサムのHTML要素を示すFlash要素を持つWebサイトで作業しています。関数でn番目の要素にクラスを追加する

次の動画を見るときに、Flashが呼び出せる機能で、下の親指をハイライトしたいと考えています。

私はこのような何かを考えている:(これは明らかに動作しません)

function highlightMovie(4) { 
    $(".thumb-wrapper div").removeClass("active"); 
    //The "4" in the below line, comes from the "4" in the Function 
    $(".thumb-wrapper div:nth-child(4)").addClass("active"); 
} 

私はこれをどのように行うのですか?あらかじめ定義されたセレクタを持たない関数を呼び出すことはできますが、n番目の子を選択することはできますか?

ありがとうございます。

+0

インデックスは何ですか。 – dpp

答えて

1
function highlightMovie(number) { 
    $(".thumb-wrapper div").removeClass("active"); 
    //The "4" in the below line, comes from the "4" in the Function 
    $(".thumb-wrapper div:nth-child("+number+")").addClass("active"); 
} 

それは、これはあなたが求めているものであるかどうかわかりませんか? 何がうまくいかないのですか?

+0

これはまさに私が探していたものでした..ありがとう! :-) –

0

再生を開始したビデオへの参照を使用して、FlashからJavaScriptを呼び出す場合はExternalInterfaceを使用します。おそらく、あなたのコードには、どのサムネイルをハイライト表示するのかを簡単に識別できる共有IDシステムがあります。

EDIT:だから、あなただけで行うことはできません

...質問にこの時間に答えるようにしてください:

function highlightMovie(index) { 
    $(".thumb-wrapper div").removeClass("active"); 
    $(".thumb-wrapper div:nth-child("+index"+)").addClass("active"); 
} 

私はそれをテストしていませんでしたが、今はそれを言うことができますIE 8以降ではnth-childは使用できません。

+0

それは私が求めていたものではありません。フラッシュについては考えないでください。どのように関数を作ることができますか?どこでn番目の子ですか? –

+0

これはあなたが望むものに近いですか? – shanethehat

0

私はExternalInterfaceを使ってASからJS関数を呼び出そうとします。

擬似JS:

function highlightThumb (index) { 
    thumbs = getAllThumbsElem(); 
    for (var i=0;i<thumbs.length;++i) { 
    if (i == index) { 
     highlightElement(i); 
    } 
    else { 
     resetHiglight(i); 
    } 
    } 
} 
1
function highlightMovie(n) { 
    $($(".thumb-wrapper div").removeClass("active").children()[n]).addClass("active"); 
} 
+0

nth-childセレクタを使用しない場合は+1 – shanethehat

関連する問題