2011-08-03 9 views
0

jQueryでclossestクラスを使用しようとしましたが、まだ運がないのはわかりませんが、基本的に私のブログの各記事(POST)にSHAREというDIVクラスがあります。 1つのシェアをクリックして、追加の関数exを使って隠されたLIを表示することを望みます。 Facebook、Twitter、電子メール共有。最も近いクラスに添付されたdiv要素を切り替える

私はトリック

$j(".share").live("click", function() { 
     $j("li").toggle("slow"); 
}); 

を行いますが、上記のコードのビットとの問題は、それは私が単一のものに取り付けるについて行くだろうか、すべての記事のために、すべての隠されたLI要素を表示することがありますか?このスクリプトを作りましたか

コードは、例えば

 <div class="date">$article_d<br><span>$article_m</span></div> 
     <div class="share">share 
      <ul> 
      <li style="margin-left: 5px;display: none;"> 
       <a href="$facebook_share">$facebook_share_img</a> 
      <a href="$twitter_share">$twitter_share_img</a> 
      <a href="$email_share">$email_share_im</a> 
      </li> 
      </ul> 
     </div> 

P.S.としてクラス= "資料" 内部DIV要素に取り付けられています。私がクリックしたdiv内の任意のli要素を選択しますMooToolsは

+0

これはできません。確認するには、各ULにIDを渡す必要があります。あなたはどの言語をプログラミングしていますか? – diceler

+0

これはPHPで書かれていますので、JSライブラリとそのプライマリjQueryのように、要素に値を付けるのはかなり簡単です。私はアニメーションを簡単にするためにMootoolsを使用します –

答えて

1
$j(".share").live("click", function() { 
    $j(this).find("li").toggle("slow"); 
}); 

find方法ではjQueryを使用していますので、$ jの構文を違いを無視してください。あなたの例のli要素はクリックされたdivの子孫であるため、これはうまくいくはずです。

ただし、div内に他のli個の要素がある場合、影響を受けることにも注意してください。

ここにはworking exampleがあります。

+0

は完璧に感謝します –

0

これにはSuperFishを使用できます。スーパーフィッシュはメニューナビのためのものですが、あなたがしようとしていることの原則は同じだと思います。

関連する問題