2

トリガーとオーバーレイを備えたブロックがあります。

jsFiddle の例を次に示します: http://jsfiddle.net/uRstt/7/

特定のブロックでオーバーレイ フェード効果がトリガーされたときに、他のブロックのオーバーレイをフェードアウトさせたい。また、オーバーレイがアクティブなブロックでトリガーをクリックすると、フェードアウトする必要があります。

これは、成功せずに達成しようとしているコードです。

$(".trigger").click(function(){
  !$(this).parent().find(".overlay").fadeOut();
  $(this).parent().find(".overlay").stop(true,true).fadeToggle();
}); 

Adeneoのおかげで正しいコードは次のとおりです

$(".trigger").click(function(){
   $(this).siblings(".overlay").stop(true,true).fadeToggle().closest('.container').siblings().find('.overlay').fadeOut();
});  

動作するjsFiddleの例を次に示します。

4

2 に答える 2

0

これを行う:

$(".trigger").click(function(){
    $(this).siblings(".overlay").stop(true,true).fadeToggle()
    .closest('.container').siblings().find('.overlay').fadeOut();
});
于 2012-12-11T08:49:13.040 に答える
0

私があなたを正しく理解していれば、次のようなことがうまくいくはずです:

$(".trigger").click(function(){
    $(this).next().stop(true,true).fadeToggle();
    $(this).parent().siblings().children('.overlay:visible').fadeOut();
});

デモ: http://jsfiddle.net/uRstt/9/

于 2012-12-11T08:49:16.437 に答える