JS 总结

<button id="code" class="btn btn-default" onclick="run(5);">获取校验码</button>

<script>
    function run(num){
    var btn = document.getElementById('code');
    $('#code').attr({"disabled":"disabled"});
    var num = num || 10;
    var tim = setInterval(function(){
        // num > 0 ? num-- :clearInterval(tim);
        document.getElementById('code').innerHTML = num + 'miao';
        num--;
        if(num < 0){
            clearInterval(tim);
            $("#code").removeAttr("disabled").html("重新获取验证码");
        }
    
       
    },1000);
}
</script>

JS 公共方法
var myJs = {
    /** 
     * 格式化日期
     * @param dt 日期对象
     * @returns {string} 返回值是格式化的字符串日期
    */

    getDates: function(dt){
        var str = "";
        var dt = new Date();
        var year = dt.getFullYear();
        var month = dt.getMonth() + 1;
        var day = dt.getDate();
        var hour = dt.getHours();
        var min = dt.getMinutes();
        var sec = dt.getSeconds();

        month = month < 10 ? "0" + month : month;
        day = day < 10 ? "0" + day : day;
        hour = hour < 10 ? "0" + hour : hour;
        min = min < 10 ? "0" + min : min;
        sec = sec < 10 ? "0" + sec : sec;

        str = year +'年'+ month +'月'+ day +'日'+ hour +'时'+min+'分'+sec;
        return str;

    },

    /**
     * 设置元素的文本内容
     * @param element 任意元素
     * @param text 任意文本内容
     */

     setInnerText: function(element,text){
        if(typeof(element.textContent) == "undefined"){
            element.innerText = text;
        }else{
            elemrnt.innerText = text;
        }
     },

     /**
     * 获取元素的文本内容
     * @param element 任意元素
     * @returns {*} 任意元素中的文本内容
     */

     getInnerText: function(element){
        if(typeof(element.textContent) == "undefined"){
            return element.innerText;
        }else{
            return element.textContent;
        }
     },

      /**
     * 获取父级元素中的第一个子元素
     * @param element 父级元素
     * @returns {*} 父级元素中的子级元素
     */

     getFirstElement: function(element){
        if(element.firstElementChild){
            return element.firstElementChild;
        }else{
            var node = element.firstChild;
            while (node && node.nodeType != 1){
                node = node.nextSibling;
            }
            return node;
        }
     },

      /**
     * 获取父级元素中的最后一个子元素
     * @param element 父级元素
     * @returns {*} 最后一个子元素
     */

     getLastElement: function(element){
        if(element.lastElementChild){
            return element.lastElementChild;
        }else{
            var node = element.lastChild;
            while (node && node.nodeType != 1){
                node = node.previousSibling;
            }
            return node;
        }
     },

      /**
     * 获取某个元素的前一个兄弟元素
     * @param element 某个元素
     * @returns {*} 前一个兄弟元素
     */

     getPreviousElement: function(elemrnt){
        if(element.previousElementSibling){
            return element.previousElementSibling;
        }else{
            var node = element.previousSibling;

            while(node && nodeType != 1){
                node = node.previousSibling;
            }
            return node;
        }
     },

     /**
     * 获取某个元素的后一个兄弟元素
     * @param element 某个元素
     * @returns {*} 后一个兄弟元素
     */
    getNextElement: function(element) {
        if (element.nextElementSibling) {
            return element.nextElementSibling
        } else {
            var node = element.nextSibling;
            while (node && node.nodeType != 1) {
                node = node.nextSibling;
            }
            return node;
        }
    },

    /**
     * 获取某个元素的所有兄弟元素
     * @param element 某个元素
     * @returns {Array} 兄弟元素
     */

     getSiblings: function(element) {
        if(!element) return;
        var elements = [];
        var ele = element.previousSibling;
        while(ele){
            if(ele.nodeType === 1){
                elemen.push(ele);
            }
            ele = ele.previousSibling;
        }
        ele = element.nextSibling;
        while(ele){
            if(ele.nodeType === 1){
                ele.push(ele);
            }
            ele = ele.nextSibling;
        }
        return elements;

     },

     /**
     * 按照比例分割数组,返回分割后的数组
     * @param e 某个数组
     * @param proportion 分割系数,默认 = 5
     * @returns {Array} 分割后的新数组
     */

    funData: function(e,proportion){
        var proportion = proportion || 5;//按照比例切割
        var num = 0;
        var _date = [];
        for(var i = 0; i < e.length; i++){
            if(i % proportion == 0 && i != 0){
                _data.push(e.slice(num,i));
                num = i;
            }
            if((i + 1) == e.length){
                _data.push(e.slice(num,(i + 1)));
            }
        }
        return _data;
    },
    // console.log(funData(Array,8));

    // 生成漂亮的随机码
   // Math.random().toString(16).substring(2);
   // Math.random().toString(36).substring(2,6);

   // 取数组中最大,最小数
    
   // Math.max.apply(Math,[1,2,3]);
   // Math.min.apply(Math,[1,2,3]);

   /*去除空格*/
    //  type 1-所有空格  2-前后空格  3-前空格 4-后空格
    trim: function(str, type) {
        switch (type) {
            case 1:
                return str.replace(/\s+/g, "");
            case 2:
                return str.replace(/(^\s*)|(\s*$)/g, "");
            case 3:
                return str.replace(/(^\s*)/g, "");
            case 4:
                return str.replace(/(\s*$)/g, "");
            default:
                return str;
        }
    },

    //字符串替换(字符串,要替换的字符,替换成什么)
    replaceAll: function(str, AFindText, ARepText) {   
        raRegExp = new RegExp(AFindText, "g");   
        return str.replace(raRegExp, ARepText);
    },

    /*数组去重*/

    removeRepeatArray: function(arr) {
        return Array.from(new Set(arr))
    },

    
// var getFloatStr = function(num){  
//     num += '';  
//       num = num.replace(/[^0-9|\.]/g, ''); //清除字符串中的非数字非.字符  
    
//     if(/^0+/) //清除字符串开头的0  
//           num = num.replace(/^0+/, '');  
//     if(!/\./.test(num)) //为整数字符串在末尾添加.00  
//         num += '.00';  
//     if(/^\./.test(num)) //字符以.开头时,在开头添加0  
//         num = '0' + num;  
//     num += '00';        //在字符串末尾补零  
//     num = num.match(/\d+\.\d{2}/)[0];  

//     return num;
// };  

// console.log(getFloatStr(1.23));

getFloatStr :function(num){
    num+='';
    num = num.replace(/[^0-9\.]/g,'');//清除字符串中的非数字非.字符  
    if(/^0+/){//清除字符串开头的0  
        num = num.replace(/^0+/,'');
    }
    if(!/\./.test(num)){//为整数字符串在末尾添加.00
        num += '.00';
    }
    if(/^\./.test(num)){//字符以.开头时,在开头添加0
        num = '0' + num;
    }
    num += '00';
    num = num.match(/\d+\.\d{2}/)[0];
    return num;  
}
// console.log(getFloatStr(1.23));


};

// 调用
// var dateStr = myJs.getDates(dt);

// 点击任意标签 alert 此标签名

// document.onclick = function(e){
//     var e = e || window.event;
//     var m = e.target || e.srcElement;
//     alert(m.tagName);
//     if(m...){
//         do something...
//     }

// }

/**
 * 获取指定的URL参数值
 * URL:http://www.quwan.com/index?name=tyler
 * 参数:paramName URL参数
 * 调用方法:getParam("name")
 * 返回值:tyler
 */
function getParam(name) {
  // 正则:[找寻'&' + 'url参数名字' = '值' + '&']('&'可以不存在)
    let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    let r = window.location.search.substr(1).match(reg);
    if(r != null) {
      // 对参数值进行解码
        return unescape(r[2]); 
    }
    return null;
}

// 调用方法,注意需要传入String类型的数据,输出结果为String类型
getParam('name');   // '123'


/**
 * 数组、对象去重
 * @param {*操作的数组} arr 
 * @param {*对象去重类型} type 
 */

 function distenic(arr,type){
     if(!arr.length){
         return arr;
     }else{
         if(type){
             var obj = {};
             var newArr = arr.reduce((cur,next) =>{
                 obj[next[type]] ? " " :  obj[next[type]] = true && cur.push(next);
                 return cur;
             },[])
             return newArr;
         }else{
             return Array.from(new Set(arr))
         }
     }
 }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值