Если вам нужна только задержка, вы можете добавить тайм-аут, который изменит ваш JavaScript на что-то вроде:
$(document).ready(function() {
var timeout = null;
var delay = 500;
var switches = $('.switches > li');
var slides = $('#slides > div');
switches
.each(function(idx) { $(this).data('slide', slides.eq(idx)); })
.hover(
function() {
var hoveredElement = $(this);
timeout = setTimeout(function(){
switches.removeClass('active');
slides.removeClass('active');
hoveredElement.addClass('active');
hoveredElement.data('slide').addClass('active');
}, delay);
},
function(){
clearTimeout(timeout);
slides.removeClass('active');
});
});
Вдобавок к этому, возможно, было бы лучше, если бы вы плавно добавляли содержимое на слайдах, используя методы animate () и stop (), чтобы остановить его, если пользователь зависает над большим количеством опций.