咏竹莉
where there is a will,there is a way

 

 

 

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;
}

 

   

 

posted on 2021-07-13 14:47  咏竹莉  阅读(418)  评论(0)    收藏  举报