2014-09-29 46 views
-2

我使用jQuery寫了一個程序,我想,如果他們的屬性相匹配的按鈕,突出的div ...jQuery的 - 突出的div同一類

$links = $('.property'); 
$links.click(function(e) { 
    //Get our variables, simply $(this) and the colour 
    var $this = $(this), 
     color = $this.data('col'); 

    //Toggle the active class on this link 
    $this.toggleClass('active'); 

    //Remove .main on all .test's 
    $(".slayout").removeClass("main"); 
    $(".product").addClass("trans"); 
    $(".product").removeClass("main"); 

    //Map the active link's data-col with a dot attributes to an array 
    //Join it up to make a selector 
    var selector = $links.filter('.active').map(function(){ 
     return "."+$(this).data('col'); 
    }).get().join(''); 

    //Add the class back on to matches 
    $(selector).addClass('main'); 

    //Finally, prevent the default action 
    e.preventDefault(); 
}); 

http://jsfiddle.net/os40xLof/

出於某種原因,它是不工作我想要的。如果我點擊「熱門」,那麼我預計其中的「熱門」兩項將突出顯示,其餘將變暗。

但由於某種原因,一切都開始變暗,我在哪裏出錯了!

回答

1

你的CSS是錯誤的,增加更多的特異性.slayout規則:

.main { opacity:1; } 
.main.slayout { opacity:0.3; } 
+0

略有變化的東西,但錯誤的東西被強調 – fightstarr20 2014-09-29 16:56:32

+0

@ fightstarr20當你'HOT'點擊,它就會'.active' ,那麼如果你點擊'DARK',那麼'.active'和'Dark-Hot'都會被突出顯示。您需要再次點擊「HOT」或「DARK」來禁用它。那不是你想要的? – 2014-09-29 17:02:07

+1

現在按預期工作:http://jsfiddle.net/os40xLof/1/? – 2014-09-29 17:07:12