Вот как это делает плагин цикла для jQuery:
Пример:
http://malsup.com/jquery/cycle/pagerHover.html
если установлена опция паузы, то при наведении курсора увеличивается переменная с именем cyclePause, в результате чего слайд-шоу не вращается:
if (opts.pause)
$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});
Позже проверяется пауза цикла. Если это так, то продвижения нет.
case 'pause':
cont.cyclePause = 1;
return false;
case 'resume':
cont.cyclePause = 0;
if (arg2 === true) { // resume now!
options = $(cont).data('cycle.opts');
if (!options) {
log('options not found, can not resume');
return false;
}
if (cont.cycleTimeout) {
clearTimeout(cont.cycleTimeout);
cont.cycleTimeout = 0;
}
go(options.elements, options, 1, 1);
}
return false;