Поскольку после запуска этой строки:
$(this).attr("src", $(".img-swap").attr("src").replace("small", "large"));
Класс .img-swap не является уникальным в dom, поэтому он выбирает элемент frist dom, соответствующий классу.Чтобы исправить это, одним из возможных решений является сохранение в переменной элемента, на который вы щелкнули:
$(".img-swap").click(function () {
var source = $(this).attr("src");
$("#banner-img").fadeOut(function () {
$(this).attr("src", source.replace("small", "large"));
$(this).fadeIn();
});
});