
1. 页面引入 (样式修改参考项目)
<div class="calendarBar"> <input type="text" class="Wdate inputDate" value="2021-06" /> </div>
2. 使用
$('.inputDate').click(function () { var format = 'yyyy-MM'; // 定义生成日历格式 WdatePicker({ dateFmt: format, //定义时间的格式 maxDate: new Date(), // 限制最大时间 onpicked: function (dp) { var paretime = dp.cal.getDateStr(format); //获取到当前点击日历时间 var yearDay = paretime.split('-')[0] var monthDay = paretime.split('-')[1] if(monthDay=='01'||monthDay=='03'||monthDay=='05'||monthDay=='07'||monthDay=='08'||monthDay==10||monthDay==12){ dealXY(31) }else if(monthDay=='02'){ if((yearDay%4==0 && yearDay%100!=0)||yearDay%400==0){ dealXY(29) }else{ dealXY(28) } }else{ dealXY(30) } energyChartArea('carbonConChart-chart','rgba(31,249,171,.7)','rgba(224, 0, 201, 0)') } }); })
3. 修改弹框位置
my97弹框是绝对于body定位的,设计控件处在页面边界时,会自动选择显示的位置,这样会导致弹框离选择日期框距离很远。
而my97初始化没给日历设置id,类名等,就需要修改源码
找到WdatePicker.js 在里面搜索“iframe” ,找到它的父级div,给div加上id= my97Datepick, 然后修改样式位置即可
else{$dp.dd=V[N].createElement("DIV"); $dp.dd.id = 'my97Datepick'; $dp.dd.style.cssText="position:absolute";V[N].body.appendChild($dp.dd);E($dp.dd,G);if(_)$dp.dd.style.left=$dp.dd.style.top="-970px";else{$dp.show();B($dp)}}}else if($dp.cal){$dp.show();$dp.cal.init();if(!$dp.eCont)B($dp)}function E(K,J){var I=V[N].domain,F=false,G="<iframe id='myWdateick' hideFocus=true
4. css
body #my97Datepick { position: fixed!important; left: 1613px!important; top: 668px!important; }
浙公网安备 33010602011771号