во первых, вам следовало бы посмотреть что делает метод
preventDefault();
далее, не просто вставить его в свой код, а соответственно его изменить.
что вам нужно? на время выполнения каких-то действий заблокировать меню, следовательно в это время обработчик меню не должен выполнять код по onclick
что для этого сделать?
например при загрузке страницы выставлять флаг , назовем его blockLinks = true
в обработчике onclick проверять установлен ли данный флаг и если установлен то просто выходить ничего не выполняя
через 3 секунды после загрузки сбросить флаг в false
все.
и почему вы функцию pausePage и setTimeout запихали
внутрь обработчика по onclick меню
??
должно быть как-то так:
во время загрузки устанавливается флаг blockLinks
после загрузки страницы (см.
$( document ).ready() )
вешается обработчик на click и запускается setTimeout
var links = ['#tab1'];
var blockLinks = true; // флаг блокировки меню
// функция выполняющаяся по истечении таймаута
function pausePage (){
// сбрасываем флаг блокировки меню
blockLinks = false;
// далее остальной код .........
links.splice([1],1);
$(pages).addClass('hide').removeClass('anim').removeClass('anim2');
$(id).removeClass('hide').addClass('anim');
}
$(function(){
// ниже код который выполняется после загрузки страницы
// устанавливаем обработчик на click
$('.tabs li a').on('click', function(e){
// проверяем флаг blockLinks
if (blockLinks) {
// если установлена блокировка выходим!
e.preventDefault();
return false;
}
// здесь ниже код который должен выполняться по клику
// ................
// ................
});
// запускаем таймер
setTimeout (pausePage,3000);
})