Достаточно добавить return false;
в конец обработчика щелчков якоря.Похоже, проблема в том, что запускаемый обработчик кликов пузырится до div, который содержит его, создавая бесконечный рекурсивный цикл.Добавление возвращаемого значения false предотвратит как распространение события (достижение иерархии до родительских элементов), так и действие по умолчанию (по ссылке, если оно было нажато).
Вы можете сделать это, используя отдельные функции объекта события (e.stopPropagation и e.preventDefault соответственно), если вы предпочитаете, однако, вы, скорее всего (по моему опыту), столкнетесь с проблемами в ваших целевых браузерах.это чем делать оба сразу с техникой return false;
.
$('#wlink a').click(function() {
$('.box:visible').fadeOut('fast', function() {
$('#' + (this.id).replace('link', '')).fadeIn('fast');
});
$('#wlink a').removeClass('selected');
$(this).addClass('selected');
return false;
})