2014-12-12 3 views
0

Я использую следующий код jQuery для сортировки статей Wordpress на одной странице, поэтому все статьи отображаются при загрузке страницы, а затем при нажатии ссылки категории неактуальные статьи исчезают ,Элементы вспыхивают до исчезновения снова

Это в основном работает отлично, однако, когда нажата ссылка категории, все статьи мгновенно вспыхивают, а затем исчезают, оставляя правильные показания.

Jquery

$('#filters a').click(function(e){ 
    e.preventDefault(); 
    var filter = $(this).attr('id'); 

    $('#sortable-portfolio article').fadeIn("slow", function() { 
     $(this).removeClass("inactive", 500); 
    }); 


    $('#sortable-portfolio article:not(.' + filter + ')').fadeOut("slow", function() { 
     $(this).addClass("inactive", 500); 
    }); 
}); 

HTML

<a href="#" id="category-outdoor">Outdoor</a> 
<a href="#" id="category-live">Live</a> 

Я уверен, что есть простое решение этой проблемы, так что только правильные статьи исчезают и, но я могу» я понял это для меня!

+0

$ ('# sortable-portfolio article'). fadeIn будет исчезать во ВСЕХ статьях, тогда вы будете fadeOut тех, которые вам не нужны – atmd

+2

Один маленький совет, если этот i s jQuery 500 для addClass ничего не делает – n0mercy

+0

О, хорошо, спасибо! – Dave

ответ

2
$('#filters a').click(function(e){ 
     e.preventDefault(); 
     var filter = $(this).attr('id'); 

     $('#sortable-portfolio article.' + filter).fadeIn("slow", function() { 
      $(this).removeClass("inactive", 500); 
     }); 


     $('#sortable-portfolio article:not(.' + filter + ')').fadeOut("slow", function() { 
      $(this).addClass("inactive", 500); 
     }); 
    }); 
+0

Спасибо - это имеет смысл. Кажется, я всегда в одном шаге! Всегда учиться ... – Dave

0

попробовать это:

$('#filters a').click(function(e){ 
    e.preventDefault(); 
    var filter = $(this).attr('id'); 

    $('#sortable-portfolio article.' + filter).fadeIn("slow", function() { 
     $(this).removeClass("inactive", 500); 
    }); 


    $('#sortable-portfolio article:not(.' + filter + ')').fadeOut("slow", function() { 
     $(this).addClass("inactive", 500); 
    }); 
}); 

это происходит потому, что вы FadeIn все элементы

0

Вы можете попробовать только замирания в статьях, имеющих идентификатор якоря как класс:

$('#sortable-portfolio article .' + filter).fadeIn("slow", function() { 
    $(this).removeClass("inactive", 500); 
}); 
Смежные вопросы