你知道如何在大約2-3分鐘沒有活動的Mac電腦上淡出屏幕部分—在iOS上是一樣的嗎?那麼,我想用jQuery在網頁上覆制它。如何複製Mac OS X與jQuery淡出「屏幕保護程序」?
我知道如何使它淡入淡出,但我不知道如何在2或3分鐘沒有鼠標移動或按鍵後實際工作。
我在Google上研究過這一點,我只是不斷收到「如何在Mac OS X上顯示網頁作爲屏幕保護程序」,這不是我想要的。
任何人都知道如何做到這一點?
謝謝。
你知道如何在大約2-3分鐘沒有活動的Mac電腦上淡出屏幕部分—在iOS上是一樣的嗎?那麼,我想用jQuery在網頁上覆制它。如何複製Mac OS X與jQuery淡出「屏幕保護程序」?
我知道如何使它淡入淡出,但我不知道如何在2或3分鐘沒有鼠標移動或按鍵後實際工作。
我在Google上研究過這一點,我只是不斷收到「如何在Mac OS X上顯示網頁作爲屏幕保護程序」,這不是我想要的。
任何人都知道如何做到這一點?
謝謝。
像這樣(未測試的)
// 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)
處理和mousemove
事件,清除超時,然後設置超時在2分鐘內淡出。
像這樣未經測試的代碼:
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)
})
謝謝,我用過你的其他代碼,它完美的工作!我沒有嘗試過這個。 – Nathan
快樂的日子 - 只是爲了記錄,這裏也是這個方法的工作版本:http://jsfiddle.net/JdmPB/ –
的iOS變淡屏幕亮度。你不能在jQuery中做到這一點。 – SLaks
發佈您的現有代碼 - 也許在jsfiddle.com(如果適用) –
@SLaks好吧,我只需要在頁面上淡出div。但我的問題是如何在沒有活動後做到這一點。 – Nathan