Вы подключаете обработчик click
внутри обработчика click
. Каждый раз, когда вы кликаете, новый обработчик кликов будет добавляться и вызываться при каждом последующем клике.
Обработчики кликов вызываются с добавлением новейшего имени first, что означает, что в конце все изображения становятся прозрачными.
Если вы хотите, чтобы изображение, на котором вы щелкнули, было непрозрачным, а остальные прозрачными, попробуйте следующее:
$('a.images').click(function(){
// Make all images (except this) transparent
$('a.images').not(this).stop().animate({opacity: 0.4}, 300);
// Make this opaque
$(this).stop().animate({opacity: 1.0}, 300);
});
Демо: http://jsfiddle.net/gCsRL/1/