2013-08-22 34 views
-1

我正在使用此腳本過濾我的項目,但我需要將margin:0添加到活動/選定項目,以便它們正確排列。將css添加到選定的「項目」jQuery過濾器

JS

$(document).ready(function() { 
    $('ul#filter a').click(function() { 
     $(this).css('outline', 'none'); 
     $('ul#filter .current').removeClass('current'); 
     $(this).parent().addClass('current'); 

     var filterVal = $(this).text().toLowerCase().replace(' ', '-'); 

     if (filterVal == 'all') { 
      $('ul#items li.hidden').fadeIn('xslow').removeClass('hidden'); 
     } else { 

      $('ul#items li').each(function() { 
       if (!$(this).hasClass(filterVal)) { 
        $(this).fadeOut('normal').addClass('hidden'); 
       } else { 
        $(this).fadeIn('xslow').removeClass('hidden'); 
       } 
      }); 
     } 

     return false; 
    }); 
}); 

幫助高度讚賞

========================

EDITED HTML ADDED

菜單:

     <ul id="filter"> 
         <li class="current"><a href="#">All</a></li> 
         <li><a href="#">item1</a></li> 
         <li><a href="#">item2</a></li> 
         <li><a href="#">item3</a></li> 
         <li><a href="#">item4</a></li> 
         <li><a href="#">item5</a></li> 
         <li><a href="#">item6</a></li> 
       </ul> 

和項目:

     <ul id="items"> 
         <div class="span12"> 

         <li class="item1 span4"> 
         <img src="images/item.jpg" alt=""/> 
         </li> 

         <li class="item2 span4"> 
         <img src="images/item.jpg" alt=""/> 
         </li> 

         <li class="item3 span4"> 
         <img src="images/item.jpg" alt=""/> 
         </li> 

         <li class="item4 span4"> 
         <img src="images/item.jpg" alt=""/> 
         </li> 

         <li class="item5 span4"> 
         <img src="images/item.jpg" alt=""/> 
         </li> 

         <li class="item6 span4"> 
         <img src="images/item.jpg" alt=""/> 
         </li> 

         </div> 
         </ul> 

正如你可以看到我使用TwitterBootsrap 2.X我AREADY使用第n個孩子選擇器,以消除某些.span的保證金 。以便項目在不同行中正確排列。

+0

如何識別哪些項目是活動/選擇的? – cfs

+1

如果您也發佈HTML,我們可以提供更好的幫助。 – mtt

+0

你是否指「當前」項目?即是否觸發.click()函數? – robooneus

回答

0

如果你點擊的元素是你的有源元件和current是活動類,那麼試試這個:

添加margin:0px到當前類。

.current { margin : 0px !important; } 

現在將當前類添加到活動元素並將其從兄弟中刪除。

$(this).parent().addClass('current'); // add current class to active element 
$(this).parent().siblings().removeClass('current'); // remove active class from sibling elements. 
+0

如果這是他的意思,他可以取出這一行:'$(this).css('outline','none');'並將其添加到'.current'類以及'outline:無;'。 – robooneus

+0

抱歉發佈我的問題不完整。正如你在更新後的帖子中看到的.current不會做我需要的,因爲這是導航/菜單的一部分 – no0ne

+0

創建一個[jsfiddle](http://jsfiddle.net/)以便更好地理解。我仍然無法得到它。 –

相關問題