Как скопировать исчезающую "заставку" Mac OS X с помощью jQuery? - PullRequest
2 голосов
/ 09 октября 2011

Вы знаете, как на компьютерах Mac после 2-3 минут бездействия он частично исчезает с экрана & mdash; то же самое на iOS? Ну, я хочу повторить это на веб-странице с помощью jQuery.

Я знаю, как заставить его исчезать и все такое, но я не знаю, как заставить его работать на самом деле после 2 или 3 минут без движения мыши или нажатия клавиш.

Я исследовал это в Google и продолжаю получать «Как отобразить веб-страницу в качестве заставки на Mac OS X», а это не то, что я хочу.

Кто-нибудь знает, как это сделать?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 09 октября 2011

Обработайте события keydown и mousemove, очистите тайм-аут, затем установите тайм-аут на исчезновение через 2 минуты.

1 голос
/ 09 октября 2011

как то так (не проверено)

// 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)
0 голосов
/ 09 октября 2011

Примерно такой непроверенный код:

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)
})
...