设置屏保超时时间
Set Timeout for screensaver
我需要一个设置超时,它将在非活动时间后设置超时,然后启动一个屏幕保护程序,它播放幻灯片的轮播,当用户单击屏幕时,它将重新启动该过程,同时在幻灯片开始时启动轮播。下面是我的代码,任何帮助都非常感激,谢谢!
<script>
/* The redirect to autoplay page function */
var screenSaverDelay;
var screenSaver;
var destroySlider;
$(document).ready(function(){
setInterval(function(){window.focus();},1000);
$('.bxslider').bxSlider();
//var screenSaverDelay;
$('body').click(function(event) {
killScreenSaver();
});
function startScreenSaver() {
clearTimeout(screenSaver);
screenSaver=setTimeout(startScreenSaver,1000);
$('#screensaver').show();
$('.bxslider').bxSlider();
}//end
function killScreenSaver() {
$('#screensaver').hide();
$('.bxslider').destroySlider();
clearTimeout(screenSaver);
screenSaver=setTimeout(killScreenSaver,300000);
}//end
$(document).ready(function(){
setInterval(function(){window.focus();},1000);
});
startScreenSaver();
});
</script>
如果你想在一段时间后启动屏保,你不应该使用setInterval,你应该使用setTimeout。您还需要在文档中绑定一些内容,以便在用户单击任何地方时重置超时时间。
更改您的文档。准备好这样做:
$(document).ready(function() {
var screenSaverTime = 60000, // 1 minute
myTimer = setTimeout(function() { startScreenSaver(); }, screenSaverTime);
$(document).bind(click, function() {
clearTimeout(myTimer);
myTimer = setTimeout(function() { startScreenSaver(); }, screenSaverTime);
});
});
如果你想要监听许多不同的活动并重置其中任何一个活动的计时器,可以这样做:
var resetTimer;
$(document).ready(function() {
var screenSaverTime = 60000, // 1 minute
myTimer = setTimeout(function() { startScreenSaver(); }, screenSaverTime);
resetTimer = function() {
clearTimeout(myTimer);
myTimer = setTimeout(function() { startScreenSaver(); }, screenSaverTime);
};
$(document).bind(click, function() {
resetTimer();
}).mousemove(function() {
resetTimer();
});
});
然后你可以在脚本的任何地方调用resetTimer(只要你的文档已经加载)
谢谢大家,这似乎是正常工作,干杯
<script>
/* The redirect to autoplay page function */
var screenSaverDelay;
var screenSaver;
$(document).ready(function(){
setInterval(function(){window.focus();},1000);
$('body').click(function(event) {
killScreenSaver();
});
startScreenSaver();
});
function startScreenSaver() {
clearTimeout(screenSaver);
$('#screensaver').show();
screenSaver = $('.bxslider').bxSlider();
}//end
function killScreenSaver() {
$('#screensaver').hide();
screenSaver.destroySlider();
clearTimeout(screenSaverDelay);
screenSaverDelay=setTimeout(startScreenSaver,300000);
}//end
</script>
相关文章:
- 如何设置$.ajax请求的超时,并在超时时间过长时进行重做
- jasmine 2-在jasmine指定的超时时间内未调用异步回调.DEFAULT_TIMEOUT_INTERVAL
- setTimeout() 函数在超时持续时间之前调用
- 幻灯片放映中的第一张幻灯片超时(持续时间几乎是其他幻灯片的两倍)
- 如何在 Twitter 嵌入式时间线上设置刷新前的超时
- set超时,超时时间较短,超时时间较长
- 设置超时功能,具有钢琴应用程序的动态持续时间
- 具有可变时间的设置超时函数
- 如何通过正确切换在最长执行时间结束时给出用户定义的超时消息
- 设置函数的超时时间
- 如何读取已设置的超时句柄上还剩多少时间
- Devex超时弹出框不会消失,当时间到了
- 在警报框上设置超时时间
- 缩短在特定时间段内触发特定数量的超时之间的时间
- 设置最小时间和超时时间
- 摩卡,超过2000ms的超时时间.确保在这个测试中调用了done()回调
- 设置屏保超时时间
- For循环在超时时间内具有动态数字
- 反复调用一个函数,直到它的承诺被解决,或者直到设置的超时时间过去
- 设置加载apache的超时时间