2013-10-10 81 views
0

http://liveweave.com/Y5JRdEDIV褪色內的所有錨,除了什麼被點擊

我在導航欄,選擇,DIV,和文本3個按鈕。當我點擊選擇按鈕時,我希望所有其他div都以60%不透明度動畫,除了選擇。 當再次單擊它時,我不想指定更改,除非我單擊一個錨並將其切換爲例如。

這是一種工作,但它是糟糕的編碼,我試着用單選按鈕做這件事,但遇到了點擊按鈕觸發它的麻煩,並讓它在導航欄中正確顯示,所以我試圖應用類似概念到導航欄的錨點,而不是在檢查元素時違反。

JQuery的/ JavaScript的

$('#tools a').click(function() { 
    $('#tools a').animate({ 
     "opacity": "0.6" 
    }); 

    $(this).animate({ 
     "opacity": "1" 
    }); 
}); 

HTML

<div class='header' data-role='header'> 
    <div id='tools' align='center'> 
     <a id='select' data-role='button' data-inline='true' data-mini='true'>Select</a> 
     <a id='gen1' data-role='button' data-inline='true' data-mini='true'>Button</a> 
     <a id='gen2' data-role='button' data-inline='true' data-mini='true'>Anchor</a> 
    </div> 

    <h1 style='visibility:hidden; width:0; height:0; margin:0;'>NULL</h1> 
</div> 
+0

jQuery的不是()是你再合適不過了。 – isherwood

回答

3

有生之前只需添加:not(this)

$('#tools a').click(function() { 
    $('#tools a'):not(this).animate({ 
     "opacity": "0.6" 
    }); 

    $(this).animate({ 
     "opacity": "1" 
    }); 
}); 
+0

好吧,這比我的方法更好 –

0

化妝使用輔助類

$('#tools a').click(function() { 
    if($(this).hasClass('active')){ 
    $(this).removeClass('active'); 
    }else { 
    $(this).addClass('active'); 
    $('#tools a').animate({ 
     "opacity": "0.6" 
    }); 
    } 
    $(this).animate({ 
     "opacity": "1" 
    }); 
}); 
相關問題