标签:
JS根据日期判断所属星座
效果如下:
完整代码如下:
<!DOCTYPE html> <html > <head> <link rel="stylesheet" href="../dojoroot/dijit/themes/claro/claro.css" media="screen"> <script>dojoConfig = {parseOnLoad: true}</script> <script type="text/javascript" src="../dojoroot/dojo/dojo.js" djConfig="parseOnLoad:true"></script> <script> require([ "dijit/form/DateTextBox", "dojo/date/locale", "dojo/dom", "dojo/domReady!"], function(DateTextBox, dom){ new DateTextBox({ value: "2016-12-23",//日期初始化 name: "oracle", onChange:function(v){getValue(v)}//调用判断星座函数 }, "oracle").startup(); function getValue(v) { var startDateStr = dijit.byId("oracle").get(‘displayedValue‘); //var constellation=document.getElementById("constellation"); //constellation.innerText= startDateStr.substring(0,4)+startDateStr.substring(5,7)+startDateStr.substring(8,10); //var month=startDateStr.substring(5,7); //var day=startDateStr.substring(8,10); var year=startDateStr.substring(0,4) var date1 = new Date(year, 2, 21);//2016-3-12 2实为3月 var date2 = new Date(year, 3, 19); var date3 = new Date(year, 4, 20); var date4 = new Date(year, 5, 21); var date5 = new Date(year, 6, 22); var date6 = new Date(year, 7, 22); var date7 = new Date(year, 8, 22); var date8 = new Date(year, 9, 23); var date9 = new Date(year, 10, 22); var date10 = new Date(year, 11, 21); var date11 = new Date(year-1,11, 19);//2015-12-23<2016-1-12 用于判断摩羯座 var date12 = new Date(year, 0, 19); var date13 = new Date(year, 1, 18); var date14 = new Date(year, 11, 31);//2016-12-29<2016-12-30 用于判断摩羯座 var constl=‘‘; if ((v>=date1) && (v <= date2)) //单个判断语句需要加() { constl="白羊座"; } else if ((v >= date2) && (v <= date3)) { constl="金牛座"; } else if ((v >= date3) && (v <= date4)) { constl="双子座"; } else if ((v >= date4) && (v <= date5)) { constl="巨蟹座"; } else if ((v >= date5) && (v <= date6)) { constl="狮子座"; } else if ((v >= date6) && (v <= date7)) { constl="处女座"; } else if ((v >= date7) && (v <= date8)) { constl="天秤座"; } else if ((v >= date8) && (v <= date9)) { constl="天蝎座"; } else if ((v >= date9) && (v <= date10)) { constl="射手座"; } else if ((v >= date11) && (v <= date12)) { constl="魔蝎座"; } else if ((v >= date10) && (v <= date14)) { constl="魔蝎座"; } else if ((v >= date12) && (v <= date13)) { constl="水瓶座"; } else if ((v >= date13) && (v <= date1)) { constl="双鱼座"; } document.getElementById("constellation").innerText=constl; }; }); </script> </head> <body class="claro"> <label for="date1">日期下拉框:</label> <input id="oracle" /><br/> <label id="constellation">星座:</label> </body> </html>
需要注意的地方:
1、在初始化日期的时候:var date1 = new Date(2005, 2, 21);
日期实为2005年3月21日
2、在加&&判断的时候,单个判断语句需要加括号
if ((v>=date1) && (v <= date2)) //单个判断语句需要加() { constl="白羊座"; }
标签:
原文地址:http://www.cnblogs.com/GIScore/p/5744501.html