设置当前的可选小时,分钟,秒钟等,而后生成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