設置當前的可選小時,分鐘,秒鐘等,而後生成checkbox,供用戶選擇。這部分比較簡單,經過 js 的 Date 對象的一系列 get 方法,便可得到當前小時等信息,而後生成其餘的小時,分鐘等時間便可。這裏以生成小時爲例:html
function getAllHour( hour, hours ) { if ( hour < 24 ) { hours.push( hour ); arguments.callee( ++hour, hours ); } return hours; } function initNotiHour() { var hourContainer = document.getElementById( 'select-hour' ); var currentHour = new Date().getHours(); var hours = []; var allHours = getAllHour( currentHour, hours ); allHours.forEach( function( item, index ) { hourContainer.innerHTML += '<option>' + item + '</option>'; } ); }
咱們生成了可供用戶選擇的時間以後,用戶就能夠本身設置本身想要的時間了。而後咱們也能夠經過 checkbox 的 value 屬性獲取用戶的設置。那麼問題來了,如何咱們如何判斷到了用戶的設置時間呢?
其實 Date 對象的 set 系列的方法就是用來作這個事情的,我能夠設置一個將來而時間,而後不停的用當前時間和它做比較,若是兩者相等,就代表時間到了。
具體看代碼:前端
function setTargetTime() { var date = new Date(); date.setHours( getUserTime( 'select-hour' ) ); date.setMinutes( getUserTime( 'select-minute' ) ); date.setSeconds( getUserTime( 'select-second' ) ); return date; }
而後接下來就能夠複用張鑫旭的代碼,來處理具體桌面提醒部分的功能了!html5