2012-02-03 7 views
0

slideToggleを閉じるには、既に開いている場合はもう一度開くことはできません。この機能を全面的に検索したが役に立たなかった。どんな助けでも大歓迎です!それにHERESにリンク http://digitalzu.net/jquery.htmlslideToggleは独立してリンクします

+1

slideToggleは、それが現在の状態を切り替え、それが言う同じように行います。すでに開いている場合は再開しないでください。あなたのリンクに続いて、何がうまくいかないか理解していない。私のために正しく動作するようです。 – mrtsherman

答えて

0

現在のボックスを含むすべてのhideShare要素を隠しているため、トグルするだけで機能しません。

これを試すと、siblingsが非表示になります。

$(".shareLink").unbind().click(function(){ 
     $("#"+$(this).attr('id')+'Box') 
     .siblings('.hideShare') 
     .slideUp() 
     .end() 
     .slideToggle(); 

     return false; 
    }); 

Demo

+0

迅速な対応をありがとう!魅力のように動作します。再度、感謝します。 – jz416

0
var $el = $("#"+$(this).attr('id')+'Box'); 

if($el.is(":hidden")){ 
    $(".hideShare").hide(); 
    $el.slideDown(); 
} 

あなたはすべてを隠し、1つの要素を下にスライドしている

jQueryの

<script> 
$(document).ready(function() { 
    $(".shareLink").click(function(){ 
$(".hideShare").hide(); 
    $("#"+$(this).attr('id')+'Box').slideToggle(); 
    return false; 
    }); 

}); 
</script> 

。問題は、要素が既に表示されている場合でもこれを実行していることです。代わりに、まだ表示されていないことを確認してください。そうでない場合は、何もしないでください。

関連する問題