【问题标题】:How to make screensaver to appear and disappear based on time?如何让屏保根据时间出现和消失?
【发布时间】:2019-07-15 08:02:27
【问题描述】:

我有一个屏幕保护程序脚本,它会在一段时间后显示屏幕保护程序(例如 10 秒)。如何在屏幕保护程序启动一段时间后(例如 5 秒后)停止屏幕保护程序,然后每隔一段时间(例如 10 秒)重复一次,但要从它停止时开始计算时间。

var screensaver_active = false;

function show_screensaver() {
  $('#screensaver').fadeIn();
  screensaver_active = true;
  screensaver_animation();
}

function stop_screensaver() {
  $('#screensaver').fadeOut();
  screensaver_active = false;
}

function getRandomColor() {
  var letters = '0123456789ABCDEF'.split('');
  var color = '#';
  for (var i = 0; i < 6; i++) {
    color += letters[Math.round(Math.random() * 15)];
  }
  return color;
}


setInterval(function() {
  show_screensaver();
  stop_screensaver();
}, 10000);

function screensaver_animation() {
  if (screensaver_active) {
    $('#screensaver').animate({
      backgroundColor: getRandomColor()
    }, 400, screensaver_animation);
  }
}

【问题讨论】:

    标签: javascript jquery screensaver scrypt


    【解决方案1】:

    尝试像这样在启动函数中调用停止函数

    function show_screensaver() {
    $('#screensaver').fadeIn();
    screensaver_active = true;
    screensaver_animation();
    setTimeout(function(){stop_screensaver();},5000);
    }
    function stop_screensaver() {
      $('#screensaver').fadeOut();
      screensaver_active = false;
    setTimeout(function(){show_screensaver();},10000);
    }
    

    【讨论】:

    • 这没什么区别,第一次尝试10秒后显示,5秒后停止。但是它从开始时开始计算时间,而不是从停止时开始
    • 好的,然后互相调用两个函数,我已经更新了答案...
    • 而不是在页面加载后仅设置间隔调用 show_screensave() 10s...
    • 坦克。太好了。
    猜你喜欢
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 2014-01-02
    相关资源
    最近更新 更多