Спасибо, j0hnik, всё работает!
Вот пока разбирался, несколько раз приходила мысль: "вот если бы к .fadeTo можно было бы дописать третий параметр...", а оно оказывается можно))
Немного переделал код, а то он атрибут от себя к себе присваивал, вот как получилось:
HTML:
<div class="container outer">
<div class="photo"><img src="imgs/7.jpg" alt=""></div>
<nav>
<div class="current" link="imgs/7.jpg"><img src="imgs/7.jpg" alt=""></div>
<div link="imgs/8.jpg"><img src="imgs/8.jpg" alt=""></div>
<div link="imgs/9.jpg"><img src="imgs/9.jpg" alt=""></div>
</nav>
</div>
и JS:
$("nav").on("click", "div", function () {
$(this).addClass("current").siblings().removeClass("current");
$(".photo img").fadeTo(400, 0, function(){
$(this).attr("src", $("nav .current").attr("link"));
$(this).fadeTo(200, 1);
});
})