Ваша базовая логика работает просто отлично, вот живой тестовый пример .
Так что, скорее всего, вы связываете pararPase
неправильно, например, пытаетесь привязать как обработчик кликов за пределами document.ready()
, когда кнопка еще не существует - обновлен тестовый пример , чтобы доказать эту точку.
Другой вариант - другая ошибка в вашем коде, проверьте консоль Chrome JavaScript, чтобы убедиться, что это так.
Как уже упоминалось в комментариях, присвоение возвращаемого значения clearInterval обратно переменной бессмысленно, но не вредно: переменная просто будет иметь значение "undefined".
Редактировать : есть вероятность, что iniciarPase
вызывается более одного раза, это вызовет более одного таймера, когда будет очищен только последний. Итак, чтобы быть в безопасности, добавьте это к вашей функции: (это на самом деле то, что Диод попытался сказать в своем ответе)
function iniciarPase(){
var animating = false;
//ver la siguente
navigate("next");
//iniciar temporizador que mostrará las siguientes
if (interval)
clearInterval(interval);
interval = setInterval(function() {
navigate("next");
}, slideshowSpeed);
}