如何根据时间使屏幕保护程序显示和消失?

问题描述 投票:1回答:1

我有一个屏幕保护程序脚本,它会在一段时间后显示一个屏幕保护程序(例如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个回答
1
投票

尝试在启动函数中调用stop函数

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);
}
© www.soinside.com 2019 - 2024. All rights reserved.