0

以下は正常に動作します - ただし、すべてが一度に発生するようです - 次のトグルを開く前に、最初のトグルを閉じて終了する必要があります

$(".masinfo").click(function(){ 
var divToShow = "."+$(this).attr('href').replace('#', '');
if (!$(divToShow).hasClass("activeBlock")) {
    $(".activeBlock").slideToggle("slow"); 
    $("#content .blocks").removeClass("activeBlock"); // finish here

    $(divToShow).slideToggle("slow"); // then start this one?
    $(divToShow).addClass( "activeBlock" );

}else{
    $(".activeBlock").slideToggle("slow"); 
    $("#content .blocks").removeClass("activeBlock");
}
return false; 
});
4

3 に答える 3

2

slideToggle 関数の 2 番目のパラメーターとして渡すことができる完全な関数を使用したいと考えています。

したがって、コードは次のようになります。

$(".masinfo").click(function(){ 
var divToShow = "."+$(this).attr('href').replace('#', '');
if (!$(divToShow).hasClass("activeBlock")) {
    $(".activeBlock").slideToggle("slow", function(){
         $("#content .blocks").removeClass("activeBlock"); 

        $(divToShow).slideToggle("slow"); 
       $(divToShow).addClass( "activeBlock" );

   }); 

}else{
    $(".activeBlock").slideToggle("slow"); 
    $("#content .blocks").removeClass("activeBlock");
}
return false; 
});
于 2013-11-14T01:01:00.180 に答える