javascript 通用方法

1、时间工具:

//时间工具类
      var _dateUtils = {
          //解析时间
          parseDate:function(dateStr){
              if(Object.prototype.toString.call(dateStr) === "[object Date]"){
                  return dateStr;
              }
              var dateArray;
              var dateTime;
              dateArray = dateStr.replace(/(-|\/|:|\s+)/g," ");
              if(dateArray){
                  dateArray = dateArray.split(" ");
                  if(dateArray && dateArray.length>0){
                      var now = new Date();
                      var year = Number(dateArray[0]) || now.getFullYear();
                      var month = Number(dateArray[1]) || (now.getMonth()+1);
                      var date = Number(dateArray[2]) || now.getDate();
                      var hours = Number(dateArray[3]) || now.getHours();
                      var minutes = Number(dateArray[4]) || now.getMinutes();
                      var seconds = Number(dateArray[5]) || now.getSeconds();
                      dateTime = new Date(year,month-1,date,hours,minutes,seconds);
                  }
              }
              return dateTime;
          },
          //格式化日期
          formatDate : function formatDate(dateStr,format){
              var dateTime ;
              //如果是日期类型
              if(Object.prototype.toString.call(dateStr) === "[object Date]"){
                  dateTime = dateStr;
              }else{
                  dateTime = this.parseDate(dateStr);
              }
              var year = dateTime.getFullYear();
              var month = dateTime.getMonth()+1;
              var date = dateTime.getDate();
              var hours = dateTime.getHours();
              var minutes = dateTime.getMinutes();
              var seconds = dateTime.getSeconds();

              if(!format){
                  format = 'yyyy-MM-dd';
              }
              format = format.replace(/yyyy/g,year);
              format = format.replace(/MM/g,month>=10?month:"0"+month);
              format = format.replace(/dd/g,date>=10?date:"0"+date);
              format = format.replace(/HH/g,hours>=10?hours:"0"+hours);
              format = format.replace(/mm/g,minutes>=10?minutes:"0"+minutes);
              format = format.replace(/ss/g,seconds>=10?seconds:"0"+seconds);
              format = format.replace(/M/g,month);
              format = format.replace(/d/g,date);
              format = format.replace(/H/g,hours);
              format = format.replace(/m/g,minutes);
              format = format.replace(/s/g,seconds);
              return format;
          },
          //获取几天之前的日期
          getDateBefore:function(date,day){
              var d = new Date(date.getTime());
              d.setDate( d.getDate() - Number(day) );
              return d;
          },
          //获取几天之后的日期
          getDateAfter:function(date,day){
              var d = new Date(date.getTime());
              d.setDate( d.getDate() + Number(day) );
              return d;
          }
      }

//文本域高度自适应实现
 
function setStyle(el, auto) {
        if (auto) el.style.height = '.76rem';
        el.style.height = el.scrollHeight + 'px';
    }

function makeExpandingArea(el) {
        var timer = null;
        //由于ie8有溢出堆栈问题,故调整了这里
        // var setStyle = function(el, auto) {
        //     if (auto) el.style.height = '.76rem';
        //     el.style.height = el.scrollHeight + 'px';
        // }
        var delayedResize = function(el) {
            if (timer) {
                clearTimeout(timer);
                timer = null;
            }
            timer = setTimeout(function() {
                setStyle(el)
            }, 200);
        }
        if (el.addEventListener) {
            el.addEventListener('input', function() {
                setStyle(el, 1);
            }, false);
            setStyle(el)
        } else if (el.attachEvent) {
            el.attachEvent('onpropertychange', function() {
                setStyle(el)
            })
            setStyle(el)
        }
        if (window.VBArray && window.addEventListener) { //IE9
            el.attachEvent("onkeydown", function() {
                var key = window.event.keyCode;
                if (key == 8 || key == 46) delayedResize(el);

            });
            el.attachEvent("oncut", function() {
                delayedResize(el);
            }); //处理粘贴
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值