Через пару часов мозговой атаки я решил эту проблему =)
Как было:
var intervalID = setInterval(nextNewsAuto, time);
$(this).click(function() {
clearInterval(ttt);
$(this).each(nextNews);
});
Недостатки: Нужно было чтобы после клика заново, через некоторое время, запускалась функция nextNewsAuto и чтобы прошлый сетинтервал удалялся, чтоб не было накладок.
Как стало:
function ffff() {
var intervalID = setInterval(nextNewsAuto, time);
return intervalID;
}
var ttt = ffff(), ddd = 0, rrr = 0;
$(this).click(function() {
if(ddd == 0) {
ddd = 1;
clearInterval(ttt);
rrr = setTimeout(function() { ttt = ffff(); ddd = 0; }, 10000);
} else {
clearInterval(rrr);
rrr = setTimeout(function() { ttt = ffff(); ddd = 0; }, 10000);
}
$(this).each(nextNews);
});
Достоинства: Теперь всё нормально, функция nextNewsAuto нормально вызывается, без накладок, если идёт повторный клик то прошлый сеттаймаут удаляется ...