js 计算剩余 天、时、分、秒



/**
 * 计算剩余 天、时、分、秒
 * @param datetime long 型
 * @param d
 * @returns {*}
 * @constructor
 */
function CountDown(datetime, d){
    var now = new Date();
    var leftTime = new Number(datetime) + 3600000*24*d - now.getTime();
    if( leftTime > 0 ) {
        var leftsecond = parseInt(leftTime/1000);
        var day = Math.floor(leftsecond/(60*60*24));
        var hour = Math.floor((leftsecond-day*24*60*60)/3600);
        var minute = Math.floor((leftsecond-day*24*60*60-hour*3600)/60);
        return {
            leftTime: leftTime,
            leftsecond: leftsecond,
            day: day,
            hour: hour,
            minute: minute,
            second: Math.floor(leftsecond-day*24*60*60-hour*3600-minute*60)
        };
    } else {
        return {
            leftTime : leftTime
        };
    }
}

/**
 * 倒计时 -  显示倒计时
 * @param data complaint json
 * @constructor
 */
function ShowCountDownForUndo(data) {
    var left = CountDown(data.longgeneratetime, 4);//4    
    if( left.leftTime > 0 ) {
        $("#warnmsg").html( ( left.day*24 + left.hour) + '小时' + left.minute + '  ' + left.second + ' ');
    } else {

        clearInterval(timer);
    }
}



/**
 * 计算剩余可输入字符,英文占半个字符
 * @param f textarea
 * @param maxstrlen
 * @param leftCharsEl element id 显示提示信息的dom节点
 */
function calcLeftCharactors(f, maxstrlen, leftCharsDiv) {
    var str = f.value;
    var myLen = 0, i = 0;

    for (; (i < str.length) && (myLen <= maxstrlen * 2); i++) {
        if (str.charCodeAt(i) > 0 && str.charCodeAt(i) < 128)
            myLen++;
        else
            myLen += 2;
    }
    if (myLen > maxstrlen * 2) {
        f.value = str.substr(0, i-1);
        $('#'+leftCharsDiv).html( 0 );
    } else {
        $('#'+leftCharsDiv).html( Math.min(maxstrlen, Math.floor((maxstrlen * 2 - myLen) / 2)) );
    }
}

//计算剩余可输入字数
$('#content_').on('keyup mousedown blur paste', function(){
    var me = this;
    setTimeout(function(){
        calcLeftCharactors(me, 100, 'content_left');
    }, 100);
});



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值