diff --git a/css/macdefault.css b/css/macdefault.css index c066817..73038da 100644 --- a/css/macdefault.css +++ b/css/macdefault.css @@ -851,7 +851,7 @@ body { } /*右键菜单*/ -#win10 .win10-context-menu { left: 0;top: 0;position: fixed; width: 150px; height: auto; background-color: rgb(255, 255, 255,0.75); border: #CCC 1px solid; display: block; border-radius: 5px; z-index: 99999999; } +#win10 .win10-context-menu { left: 0;top: 0;position: fixed; width: 150px; height: auto; background-color: rgba(255,255,255,0.75); border: #CCC 1px solid; display: block; border-radius: 5px; z-index: 99999999; } #win10 .win10-context-menu ul { margin: 0px; padding: 0px; } #win10 .win10-context-menu ul li {transition: background-color 0.5s;cursor: default;padding: 0px 1em; list-style: none; line-height: 30px; height: 30px; margin: 3px 0; font-size: 13px; } #win10 .win10-context-menu ul li:hover { background-color: rgba(49,156,241,0.71);cursor: pointer; } diff --git a/demo.html b/demo.html index 9342b7e..5b38c6b 100644 --- a/demo.html +++ b/demo.html @@ -4,7 +4,7 @@ - mac桌面 + macOS @@ -83,7 +83,7 @@
iCloud
-
+
地图
@@ -91,9 +91,9 @@
设置
-
+
-
登录页(双击)
+
登录页
diff --git a/img/icon/DesktopScreenEffectsPref.png b/img/icon/DesktopScreenEffectsPref.png new file mode 100644 index 0000000..f1ef207 Binary files /dev/null and b/img/icon/DesktopScreenEffectsPref.png differ diff --git a/index.html b/index.html index 24309f4..e2cf47f 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - mac桌面 + macOS @@ -65,7 +65,7 @@
-
UI官网
+
OS官网
diff --git a/js/mac.js b/js/mac.js index 99365f7..b687fcd 100644 --- a/js/mac.js +++ b/js/mac.js @@ -333,11 +333,9 @@ window.Win10 = { $('#win10_command_center').on('click',".command-header div", function () { if (!$(this).hasClass('active')) { if ($(this).hasClass('tab-today')) { - console.log(1); $(this).parent().siblings('.msgs').hide().siblings('.today').show(); $(this).addClass('active').siblings('div').removeClass('active'); }else{ - console.log(2); $(this).parent().siblings('.today').hide().siblings('.msgs').show(); $(this).addClass('active').siblings('div').removeClass('active'); } @@ -432,19 +430,8 @@ window.Win10 = { }); setInterval(function () { //重新写mac时间 - var myDate = new Date(); - var week = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六")[myDate.getDay()]; - var hour=myDate.getHours(); - var mins=myDate.getMinutes();if (mins<10){mins='0'+mins} - if(hour < 6){hours='凌晨'+hour;} - else if (hour < 9){hours='早上'+hour;} - else if (hour < 12){hours='上午'+hour;} - else if (hour < 14){hours='中午'+(hour-12);} - else if (hour < 17){hours='下午'+(hour-12);} - else if (hour < 19){hours='傍晚'+(hour-12);} - else if (hour < 22){hours='晚上'+(hour-12);} - else {hours='深夜'+(hour-12)} - $("#win10_btn_time").html(week+hours+':'+mins); + var myDate = Win10.getLunarObj(); + $("#win10_btn_time").html(myDate.week+myDate.hour+':'+myDate.minute); },1000); //离开前警告 document.body.onbeforeunload = function(event){ @@ -589,27 +576,207 @@ window.Win10 = { this._showShortcut(); $(".win10-open-iframe").removeClass('hide'); }, + getLunarObj: function () { + //农历年信息 + var lunarInfo = new Array( + 0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2, + 0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977, + 0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970, + 0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950, + 0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557, + 0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0, + 0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0, + 0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6, + 0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570, + 0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0, + 0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5, + 0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930, + 0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530, + 0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45, + 0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0); + var Animals=new Array("鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"); + var Gan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸"); + var Zhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"); + + //==== 传回农历 y年的总天数 + function lYearDays(y) { + var i, sum = 348 + for(i=0x8000; i>0x8; i>>=1) sum += (lunarInfo[y-1900] & i)? 1: 0 + return(sum+leapDays(y)) + } + //==== 传回农历 y年闰月的天数 + function leapDays(y) { + if(leapMonth(y)) + return((lunarInfo[y-1900] & 0x10000)? 30: 29) + else + return(0) + } + //==== 传回农历 y年闰哪个月 1-12 , 没闰传回 0 + function leapMonth(y) { + return(lunarInfo[y-1900] & 0xf); + } + //==== 传回农历 y年m月的总天数 + function monthDays(y,m) { + return((lunarInfo[y-1900] & (0x10000>>m))? 30: 29 ); + } + //==== 算出农历, 传入日期物件, 传回农历日期物件 + // 该物件属性有 .year .month .day .isLeap .yearCyl .dayCyl .monCyl + function lunar(objDate) { + var i, leap=0, temp=0 + var baseDate = new Date(1900,0,31) + var offset = (objDate - baseDate)/86400000 + + this.dayCyl = offset + 40 + this.monCyl = 14 + + for(i=1900; i<2050 && offset>0; i++) { + temp = lYearDays(i) + offset -= temp + this.monCyl += 12 + } + if(offset<0) { + offset += temp; + i--; + this.monCyl -= 12 + } + + this.year = i + this.yearCyl = i-1864 + + leap = leapMonth(i) //闰哪个月 + this.isLeap = false + + for(i=1; i<13 && offset>0; i++) { + //闰月 + if(leap>0 && i==(leap+1) && this.isLeap==false) + { --i; this.isLeap = true; temp = leapDays(this.year); } + else + { temp = monthDays(this.year, i); } + + //解除闰月 + if(this.isLeap==true && i==(leap+1)) this.isLeap = false + + offset -= temp + if(this.isLeap == false) this.monCyl ++ + } + + if(offset==0 && leap>0 && i==leap+1) + if(this.isLeap) + { this.isLeap = false; } + else + { this.isLeap = true; --i; --this.monCyl;} + + if(offset<0){ offset += temp; --i; --this.monCyl; } + + this.month = i + this.day = offset + 1 + } + //获取农历(月)中文格式 + function get_lunarmonth(month){ + var fm = ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","腊月"]; + return fm[month-1]; + } + //获取农历(日)中文格式 + function get_lunarday(day){ + var fd = ["十","一","二","三","四","五","六","七","八","九","十"]; + if(day <= 10){ + return "初"+fd[day]; + } + else if(day < 20){ + return "十"+fd[day-10]; + } + else if(day==20){ + return "二十"; + } + else if(day < 30){ + return "廿"+fd[day-20]; + } + else{ + return "三"+fd[day-30]; + } + } + + //获取干支 + function get_ganzhi(year) { + var num = year-1900+36; + return(Gan[num%10]+Zhi[num%12]); + } + //获取生肖 + function get_animal(year){ + return Animals[(year-4)%12]; + } + //获取周 + function get_week(date){ + var values = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"]; + return values[date.getDay()]; + } + + //获取分钟 + function get_min(date){ + var mins=date.getMinutes(); + if (mins<10){ + mins='0'+mins + } + return mins; + } + + //获取小时 + function get_hour(date){ + var hour=date.getHours(); + if(hour < 6){hours='凌晨'+hour;} + else if (hour < 9){hours='早上'+hour;} + else if (hour < 12){hours='上午'+hour;} + else if (hour < 14){hours='中午'+(hour-12);} + else if (hour < 17){hours='下午'+(hour-12);} + else if (hour < 19){hours='傍晚'+(hour-12);} + else if (hour < 22){hours='晚上'+(hour-12);} + else {hours='深夜'+(hour-12)} + return hours; + } + + var viewdate = {}; + var date = new Date(); + //秒 + viewdate.second = date.getSeconds();; + //分钟 + viewdate.minute = get_min(date); + //小时 + viewdate.hour = get_hour(date); + //日期 + viewdate.day = date.getDay(); + //星期 + viewdate.week = get_week(date); + //月 + viewdate.month = date.getMonth()+1; + //完整的年份(4位,1970-????) + viewdate.fullYear = date.getFullYear(); + //年份(2位) + viewdate.year = date.getYear(); + //农历信息 + var lunar_obj = new lunar(date); + //农历中文月 + viewdate.lunarmonth = get_lunarmonth(lunar_obj.month); + //农历中文日 + var lunar_day = Math.floor(lunar_obj.day); + viewdate.lunarday = get_lunarday(lunar_day); + //农历年月日 + viewdate.lunar = lunar_obj.year + "-" + lunar_obj.month + "-" + lunar_day; + //干支 + viewdate.ganzhi = get_ganzhi(lunar_obj.year); + //生肖 + viewdate.animal = get_animal(lunar_obj.year); + + return viewdate; + }, //消息中心渲染 renderCommand:function (today=null) { var active = $("#win10_command_center .command-body.today").hasClass('active'); if (!active) { if (!today) { - var myDate = new Date(); - var week = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六")[myDate.getDay()]; - var hour=myDate.getHours(); - var mins=myDate.getMinutes();if (mins<10){mins='0'+mins} - if(hour < 6){hours='凌晨'+hour;} - else if (hour < 9){hours='早上'+hour;} - else if (hour < 12){hours='上午'+hour;} - else if (hour < 14){hours='中午'+(hour-12);} - else if (hour < 17){hours='下午'+(hour-12);} - else if (hour < 19){hours='傍晚'+(hour-12);} - else if (hour < 22){hours='晚上'+(hour-12);} - else {hours='深夜'+(hour-12)} - + var lunarDate = Win10.getLunarObj(); today = '
' + - '
'+(myDate.getMonth()+1)+'月'+myDate.getDay()+'日 '+week+'
' + - '
'+''+'
' + + '
'+lunarDate.month+'月'+lunarDate.day+'日 '+lunarDate.week+'
' + + '
'+lunarDate.ganzhi+'年'+lunarDate.lunarmonth+lunarDate.lunarday+'
' + '
' + '
' + '
' + @@ -619,7 +786,7 @@ window.Win10 = { '
' + '
' + '
' + - ''+hours+':'+mins+''+ + ''+lunarDate.hour+':'+lunarDate.minute+''+ '广州市' + '
' + '
多云
' +