Я хочу, чтобы моя функция не работала снова после обратных вызовов. Как этого добиться? - PullRequest
0 голосов
/ 11 апреля 2019

При загрузке страницы мои часы обратного отсчета снова появляются.Я хочу, чтобы он никогда не запускался снова после завершения обратных вызовов.Я понял, что код, который я использовал, снова запускался при загрузке страницы.

Я экспериментировал с утверждениями return и if и else, но мне кажется, что я что-то не так делаю.

/*Countdown until Captain Marvel Release */
var next_show = new Date('2019-04-11T12:54:00');
var diff = next_show.getTime() - new Date().getTime();

var showtime = Math.floor(diff/1000);
var clock = $('#clock3').FlipClock({
    clockFace: 'DailyCounter',
    countdown: true,
    callbacks: {
      stop: function () {
        $("#clock3").fadeOut(1000);
        $("#myButton3Show").fadeOut(1000);
        $("#myButton3Hide").fadeIn(1000);
        if(getTime==new Date) { 
          return; //stop the execution of function
      }
      }
    }
});

clock.setTime(showtime);
clock.start();

html

<div class="captainmarvel2" style="width: 30%">
   <img src="Pictures/captainlogo.png">
   <h5>In Theaters 8 March 2019</h5>
   <div id="clock3"></div>
   <a href="https://www.marvel.com/movies/captain-marvel" target="_blank"
    id="myButton3Show">About Movie</a>
   <a href="https://www.myvue.com/film/captain-marvel" target="_blank" id="myButton3Hide"style="display: none">Buy Ticket on Vue</a>
</div>

Я хочу сказать, ЕСЛИ дата не 2019 24 апреля T00.00.00, запустить обратный отсчет, скрыть часы ELSE и кнопку «О фильме»,и покажи «Покупай билеты на Vue».

Вот что я примерно пытаюсь сделать:

var next_show = new Date('2019-04-11T12:54:00');
var diff = next_show.getTime() - new Date().getTime();

var showtime = Math.floor(diff / 1000);
if (next_show.getTime() == new Date().getTime()) {
  $("#clock3").hide();
  $("#myButton3Show").hide();
  $("#myButton3Hide").show();
} else {
  var clock = $('#clock3').FlipClock({
      clockFace: 'DailyCounter',
      countdown: true,
    }
  };

  clock.setTime(showtime);
  clock.start();

Вот что я сейчас пытаюсь!Тем не менее, по-прежнему не работает.

Обратный отсчет можно посмотреть на сайте www.student.city.ac.uk/~aczc972

Step 1: Counting Down

Step 2: Countdown Finished - counter and button fade out and new button fade in

Step 3: On page load, this happens!

Шаг 1: Обратный отсчет Шаг 2: Обратный отсчет завершен - счетчик и кнопка исчезают, а новая кнопка исчезает на шаге 3: Вклзагрузка страницы, это происходит!

...