2014-01-31 5 views
1

Я стараюсь, чтобы моя кнопка делала две вещи.Как создать таймер в моем случае?

инициализации таймера для вызова функции вызова та же функция

У меня есть что-то вроде следующего

test.prototype.setupEvent= function(){ 
     var instance = this; 

     $('#btn').on('click', function(){ 
      clearInterval(instance.timer); 
      this.showStuff() 

      instance.timer=setInterval(function(){ 
       instance.showStuff() 
      },10000); 
     }) 
    } 

test.prototype.showStuff= function(btnID){ 
     //jump to another page 
    } 

Моя проблема заключается в том, что я хочу, чтобы пользователь сможет увидеть некоторые содержимое после 10 секунд однако, когда они сначала нажимают на него, если они снова нажимают кнопку до 10 секунд, они также могут видеть содержимое. Я не уверен, как отличить два разных состояния с одним щелчком мыши. Может кто-нибудь мне помочь? Благодаря!

+0

«инициализировать таймер для вызова функции вызовите ту же функцию» - пожалуйста, переписать эту часть, я не знаю, что вы имеете в виду – JLewkovich

+0

вы можете редактировать [эту скрипку] (HTTP: //jsfiddle.net/arunpjohny/yf5XM/1/), чтобы создать случай –

ответ

1

Попробуйте

test.prototype.setupEvent = function() { 
    var instance = this; 

    $('#btn').on('click', function() { 
     //if there is a timer running then clear the timer, show the content and delete the timer reference 
     if (instance.timer) { 
      clearInterval(instance.timer); 
      instance.showStuff(); 
      delete instance.timer 
      return; 
     } 
     //also you may want to use setTimeout() not setInverval() 
     instance.timer = setInterval(function() { 
      instance.showStuff(); 
      delete instance.timer 
     }, 10000); 
    }) 
} 

test.prototype.showStuff = function (btnID) { 
    //jump to another page 
} 
Смежные вопросы