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

//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];
    }
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值