记录几个非常实用的js函数

来源:互联网 发布:vmware mac os x 优化 编辑:程序博客网 时间:2024/05/21 00:55
//1、为元素添加样式,如addStyle(btn,"active")            function addStyle(obj, className){                var clName = obj.getAttribute('class');                if(clName == null || clName == ''){                    obj.className = className;                }else if(clName.indexOf(className) == -1){                    clName += ' ' +  className;                    obj.className = clName;                }            }        //2、移除选中的样式            function removeStyle(obj, className){                var clName = obj.getAttribute('class');                if(clName == '' || clName == null){                    return;                }                if(clName.indexOf(className) != -1){                    //存在了在进行比较                    var classArr = clName.split(' ');                    //避免不全等值的类出现                    for(var i = 0; i < classArr.length; i++){                        if(classArr[i] == className){                            //避免出现多余空格                            classArr = classArr.remove(i);//用到第三点                        }                    }                    obj.className = classArr.join(' ');                }            }            //3、在原型链上自定义方法            //移除指定下标的元素,并返回一个新的数组            //不改变原数组            Array.prototype.remove = function(index){                //截取被删除下标前的元素                var arr1 = this.slice(0, index);                var arr2 = [];                //判断被删除元素是否为最后一个元素                if(index != this.length - 1){                    //截取被删除小标后部分的元素                    var arr2 = this.slice(index + 1);                }                var newArr = arr1.concat(arr2);//              console.log(newArr);                return newArr;            }//获取不在行内样式的属性值//例如getStyle(box,"height")获取box的高度function getStyle(obj, attr) {    //IE兼容    if(obj.currentStyle) {        return obj.currentStyle[attr];    } else {        return getComputedStyle(obj, false)[attr];    }}

以后遇到可复用性高的函数会继续更新的~

0 0
原创粉丝点击