我想在回调后停止我的函数再次运行。如何实现呢?

时间:2019-04-11 12:15:20

标签: javascript jquery return exit flipclock

在页面加载时,我的倒数时钟再次出现。我希望它永远不会在回调结束后再次运行。我意识到我正在使用的代码在页面加载时再次运行。

我已经尝试过returnifelse语句,但是我认为我做错了。

/*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年4月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:在页面加载时,就会发生这种情况!

0 个答案:

没有答案