2016-09-21 4 views
0

Imこのスクリプトを使用して、クラスに基づいてelemetsをフィルタリングします。現在、それは以前の機能を停止し、新しいクラスをフェードインします。停止する必要があります。すべてフェードアウトします(たとえば、.allなどの特定のクラスになる可能性があります)。私はスクリプトにフェードアウトを追加することはできません。fadeInの前にfadeInをクラスに基づいてフィルタとして使用するスクリプトに追加します

ありがとうございました。

は、相続人のスクリプト:

<script> 
$('div.tags').delegate('input[type=radio]', 'change', update); 
update(); 
function update() { 
    var $lis = $('.results > div'), 
     $checked = $('input:checked'); 
    if ($checked.length) { 
     var selector = $checked.map(function() { 
      return '.' + $(this).attr('rel'); 
     }).get().join(''); 

     $lis.hide().filter(selector).stop().fadeIn(1000, 'easeInCirc'); 

    } else { 
     $lis.stop().fadeIn(1000, 'easeInCirc'); 
    } 
} 
</script> 

基本的に私はそれがセレクタをフェードインに開始する前に、すべてをフェードアウトする必要があります。現在は、100%の不透明度からセレクタのフェードインを開始するまでの鋭いカットです。私は、現在の(または特定のクラス)をスムーズにフェードアウトし、その後、フェードインします。

答えて

0

は、その後、あなたは完全なコールバックを使用する必要があります、それだけで完全に動作を停止

<script> 
$('div.tags').delegate('input[type=radio]', 'change', update); 
update(); 
function update() { 
    var $lis = $('.results > div'), 
     $checked = $('input:checked'); 
    if ($checked.length) { 
     var selector = $checked.map(function() { 
      return '.' + $(this).attr('rel'); 
     }).get().join(''); 

     $lis.fadeOut(200, function({ 
    $lis.filter(selector).stop().fadeIn(1000, 'easeInCirc') 
}); 

    } else { 
     $lis.stop().fadeIn(1000, 'easeInCirc'); 
    } 
} 
</script> 
+0

が動作しません –

関連する問題