js 方法

    xiaoxiao2022-07-12  148

    1.获取地址栏参数

    function getUrlPara(paraName){  

        var sUrl = location.href;  

        var sReg = "(?:\\?|&){1}"+paraName+"=([^&]*)";  

        var re=new RegExp(sReg,"gi");  

        re.exec(sUrl);  

        return RegExp.$1;  

    }  

    //应用实例:test_para.html?a=11&b=22&c=33  

    console.log(getUrlPara("a"));  、

    console.log(getUrlPara("b"));  

    2.发送验证码计时器

    <input id="send" type="button" value="发送验证码">

    var times = 60, // 临时设为60秒

    document.getElementById('send').onclick = function () {

         timer = setInterval(function () {

                times--;

                if (times <= 0) {    

                    send.value = '发送验证码'; 

                    clearInterval(timer);            

                     send.disabled = false;           

                      times = 60; } 

                else {           

                         send.value = times + '秒后重试';          

                          send.disabled = true;        

                    }       

             }, 1000);

    }  

    3.数值每三位加逗号(钱转换)

    function toThousands(number) {  

      var arr = String(number).split('.'); 

       var num = arr[0], result = '';

        while (num.length > 3) {

             result = ',' + num.slice(-3) + result;

             num = num.slice(0, num.length -3);

        }

        if (num.length > 0) result = num + result;

            return arr[1] ? result + '.' + arr[1] : result

        }

    }

    4.快速求数组的平均数(reduce,箭头函数)

    const average = arr => arr.reduce((acc, val) => acc + val, 0) / arr.length;

    // average([1,2,3]) -> 2

    5.数组去重(es6)

    const unique = arr => [...new Set(arr)];

    // unique([1,2,2,3,4,4,5]) -> [1,2,3,4,5]

    6.数组对象方法排序(按照对象的某个属性)

    function sortByKey(array,key){ 

       return array.sort(function(a,b){     

         var x=a[key];    

         var y=b[key];   

         return ((x<y)?-1:((x>y)?1:0));  

     })

    }

    7.输入框限定字符的个数(一个汉字算两个字符)

    function getByteVal(val, max) {

    var returnValue = '';

    var byteValLen = 0;

    for (var i = 0; i < val.length; i++) {

    if (val[i].match(/[^\x00-\xff]/ig) != null)

    byteValLen += 2;

    else

    byteValLen += 1;

    if (byteValLen > max)

    break;

    returnValue += val[i];

    }

    return returnValue;

    }

    $('#txt').bind('keyup',function(){

    var val=this.value;

    if(val.replace(/[^\x00-\xff]/g,"**").length>14){

    this.value=getByteVal(val,14)

    }

    })

    8.将时间戳转成yyyy-MM-dd HH:mm:ss的格式

    /** 

     * timestamp:1469085472490 

     */  

    var timestampToFormatDate = function(timestamp){     

         var date = new Date();  date.setTime(timestamp);   

         var year = date.getFullYear();   

        var month = date.getMonth() + 1; 

         var day = date.getDate(); 

         var hour = date.getHours(); 

         var minute = date.getMinutes();   

      var second = date.getSeconds();

         return year + '-' + supplementZero(month,2) + '-' + supplementZero(day,2) + ' ' +   

            supplementZero(hour,2) + ':' + supplementZero(minute,2) + ':' + supplementZero(second,2);  

    }

    9.返回顶部

    function backTop(btnId) {

        var btn = document.getElementById(btnId);

        var d = document.documentElement;

        var b = document.body;

        window.onscroll = set;

        btn.style.display = "none";

        btn.onclick = function() {

            btn.style.display = "none";

            window.onscroll = null;

            this.timer = setInterval(function() {

                d.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);

                b.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);

                if ((d.scrollTop + b.scrollTop) == 0) clearInterval(btn.timer, window.onscroll = set);

            },

            10);

        };

        function set() {

            btn.style.display = (d.scrollTop + b.scrollTop > 100) ? 'block': "none"

        }

    };

    backTop('goTop');

    9.Jquery中$.post和$.ajax的用法

    $.ajax({

        type:'get',

        url:'https://www.www.phpernote.com/rss',

        beforeSend:function(XMLHttpRequest){

            //ShowLoading();

        },

        success:function(data,textStatus){

            $('.ajax.ajaxResult').html('');

            $('item',data).each(function(i,domEle){

                $('.ajax.ajaxResult').append('<li>'+$(domEle).children('title').text()+'</li>');

            });

        },

        complete:function(XMLHttpRequest,textStatus){

            //HideLoading();

        },

        error:function(){

            //请求出错处理

        }

    });

    10.拖拽事件的封装

    function drag(index){

      index.onmousedown = function(event){

              var ev = event ||window.event;

              ev.preventDefault();

              disX = ev.clientX-this.offsetLeft;

              disY = ev.clientY-this.offsetTop;

              //给index绑定moousemove事件

              document.onmousemove = function(event){

                  var ev = event ||window.event;

                  ev.preventDefault();

                  var x = ev.clientX;

                  var y = ev.clientY;

                  index.style.left = x-disX+'px';

                  index.style.top = y-disY+'px';

              }

          }

          document.onmouseup =function(){

              document.onmousemove = null;

          }

      }

    11.数组的搜索功能

    var fruits = ['apple','banana','grapes','mango','orange'];、

    function filterItems(query) {

        return fruits.filter(function(el) {

            return el.toLowerCase().indexOf(query.toLowerCase()) > -1;

        })

    }

    console.log(filterItems('ap')); 

    // ['apple', 'grapes']

    11.求数组的最大值

    //最大值

    Array.prototype.max = function() { 

            var max = this[0];

            var len = this.length; 

            for (var i = 1; i < len; i++){ 

                if (this[i] > max) { 

                max = this[i]; 

            } 

        } 

        return max;

    }

    12.删除数组某一个元素

    Array.prototype.remove = function(val){

        var index = this.indexOf(val);

        if(index !=0){

            this.splice(index,1)

        }

    }

    [1,3,4].remove(3)

    最新回复(0)