如何使用jQuery复制Mac OS X淡出“屏幕保护程序”?

时间:2011-10-09 16:11:59

标签: jquery macos screensaver

你知道在没有活动大约2-3分钟后它在Mac上如何部分淡出屏幕 - 在iOS上是一样的吗?好吧,我想在一个带有jQuery的网页上复制它。

我知道如何让它褪色和所有,但我不知道如何让它在没有鼠标移动或按键的2或3分钟后实际工作。

我在Google上研究了这个问题,我一直在“如何在Mac OS X上将屏幕显示为屏幕保护程序”,这不是我想要的。

任何人都知道怎么做?

感谢。

3 个答案:

答案 0 :(得分:3)

处理keydownmousemove事件,清除超时,然后设置超时以在2分钟内淡出。

答案 1 :(得分:1)

像这样(未经测试)

// set the last event time to now on page loading
var lastEvent = new Date();

function fadeOut(){
    // your fade out routine
}

// bind appropriate events to everything
$('*').bind('keydown mousemove mousedown',function(){
    // set the lastEvent time to now after any event
    lastEvent = new Date();
})

// run this every second
setInterval(function(){
    // get current time
    var now = new Date();
    // compare to last event (minus 2 mins) and fade out if it was long enough
    if(lastEvent < now - (2 * 60 * 1000))
        fadeOut()
},1000)

答案 2 :(得分:0)

像这个未经测试的代码:

function fadeOut(){
    // your fade out routine
}

// initialise the set timeout function to run fade out after 2 seconds
var x = setTimeout(function(){
    fadeOut()
},2000)

// bind appropriate events to everything
$('*').bind('keydown mousemove mousedown',function(){
    // clear the existing timeout and re-set it starting from now
    clearTimeout(x)
    x = setTimeout(function(){
        fadeOut()
    },2000)
})