js事件 工具箱

目前内容:冒泡排序,选择排序,复制数组,求随机数,删除空白文本子节点,无边界拖拽和有边界拖拽,阻止拖拽的默认行为;

冒泡排序(从小到大)

function bubbleSortSmallToBig(arr){
    for(var i = 1;i < arr.length;i ++){
        for(var j = 0;j < arr.length - i;j ++){
            if(arr[j] > arr[j + 1]){
                var t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
    return arr;
}
复制代码

冒泡排序(从大到小)

function bubbleSortBigToSmall(arr){
    for(var i = 1;i < arr.length;i ++){
        for(var j = 0;j < arr.length - i;j ++){
            if(arr[j] < arr[j + 1]){
                var t = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = t;
            }
        }
    }
    return arr;
}
复制代码

选择排序(从小到大)

function selectionSmallToBig(arr){
    for(var i = 0;i < arr.length - 1;i ++){
        for(var j = i + 1;j < arr.length;j ++){
            if(arr[i] > arr[j]){
                var t = arr[i];
                arr[i] = arr[j];
                arr[j] = t;
            }
        }
    }
    return arr;
}
复制代码

选择排序(从大到小)

function selectionBigToSmall(arr){
    for(var i = 0;i < arr.length - 1;i ++){
        for(var j = i + 1;j < arr.length;j ++){
            if(arr[i] < arr[j]){
                var t = arr[i];
                arr[i] = arr[j];
                arr[j] = t;
            }
        }
    }
    return arr;
}
复制代码

复制数组1

function copyArr(arr){return arr.slice(0);}
复制代码

复制数组2

function copyArr01(arr){return arr.concat();}
复制代码

复制数组3

function copyArr02(arr){
    var list = [];
    for(var i = 0,len = arr.length;i < len;i ++){
        list.push(arr[i]);
    }
    return list;
}
复制代码

求随机整数

function randomInt(min,max){
    if(min > max){
        var t = min;
        min = max;
        max = t;
    }
    return Math.floor(Math.random() * (max - min + 1) + min);
}
复制代码

删除空白文本子节点

function removeSpace(node){
    var childs = node.childNodes;
    for(var i = 0;i < childs.length;i ++){
        if(childs[i].nodeType === 3 && /^\s+$/.test(childs[i].nodeValue)){
            node.removeChild(childs[i]);
        }
    }
    return node;
}
复制代码

无边界拖拽

function drag(id){
    var ele = document.getElementById(id);
    ele.onmousedown = function(evt){
        var e = evt || window.event;
        var disX = e.offsetX;
        var disY = e.offsetY;
        document.onmousemove = function(evt){
            var e = evt || window.event;ele.style.left = e.pageX - disX + 'px';
            ele.style.top = e.pageY - disY + 'px';
        }
    document.onmouseup = function(){
        document.onmousemove = null;
    }
}
复制代码

阻止拖拽的默认行为

document.ondragstart = function(){return false;}}}
复制代码

带边界拖拽

function dragWidthBorder(id){
    var ele = document.getElementById(id);
    ele.onmousedown = function(evt){
        var e = evt || window.event;
        var disX = e.offsetX;
        var disY = e.offsetY;
        document.onmousemove = function(evt){
            var e = evt || window.event;
            var left = e.pageX - disX;
            var top = e.pageY - disY;
            //边界
            if(left <= 0){ 
                //左边界
                left = 0;
                //clientWidth : 可视宽度
            }else if(left >= document.documentElement.clientWidth - ele.offsetWidth){ 
                //右边界
                left = document.documentElement.clientWidth - ele.offsetWidth;
            }
            if(top <= 0){ 
                //上边界
                top = 0;
            }else if(top >= document.documentElement.clientHeight - ele.offsetHeight){ 
                //下边界
                top = document.documentElement.clientHeight - ele.offsetHeight;
            }
            ele.style.left = left + 'px';ele.style.top = top + 'px';
        }
        document.onmouseup = function(){document.onmousemove = null;}
    }
}
复制代码

阻止拖拽的默认行为

document.ondragstart = function(){return false;}}}
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享