一些简单而实用的小函数

//判断是否在微信中

function isWeixin(){
    var ua = window.navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i) == 'micromessenger'){
        return true;
    }else{
        return false;
    }
}

//判断是android还是ios

var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

if(isAndroid){
    //是Android
}else if(isiOS){
    //是ios
};

//随机数;

function ran(n,m){
    return parseInt(Math.random()*(m-n)+n)
}

//如果小于10在前面加个0;

function parIt(n){
    if(n<10){
        return '0'+n
    }else{
        return n+'';
    }
    
}

//查看是否有重复;

function findInArr(a,arr){
    for(var i=0;i

//获取生效(非行间样式)的样式

function getStyle(obj,sName){
    return (obj.currentStyle || getComputedStyle(obj,false))[sName]
}

//封装事件函数 window.onload解决办法

function addEvent(obj,sEv,fn){
    if(obj.addEventListener){
        obj.addEventListener(sEv,fn,false);
    }else{
        obj.attachEvent('on'+sEv,fn);
    }
}

//滚轮事件判定;

function addWheel(obj,fn){
        //加滚轮事件
        if(navigator.userAgent.toLowerCase().indexOf('firefox')!=-1){
            obj.addEventListener('DOMMouseScroll',wheel,false)
        }else{
            obj.onmousewheel=wheel;
        }

        function wheel(ev){
            //我需要一个正确的滚轮方向(想知道用户到底是向上还是向下)
            var bDown=true;
            var oEvent=ev||event;
            //oEvent.wheelDelta  oEvent.detail
            if(oEvent.wheelDelta){
                if(oEvent.wheelDelta>0){
                    bDown=false;
                }else{
                    bDown=true;
                }
            }else{
                //火狐
                if(oEvent.detail>0){
                    bDown=true;
                }else{
                    bDown=false;
                }
            }
            fn&&fn(bDown);
            oEvent.preventDefault&&oEvent.preventDefault();//阻止事件绑定中的默认事件 此方法不支持IE9以下
            return false //在事件绑定中失效;
        }
        
}

/*addWheel(document,function(bDown){
    if(bDown){
        alert('向下')
    }else{
        alert('向上')
    }
})*/

//cookie调用 添加 删除 获取

//存cookie
function setCookie(sName,sValue,iDay){
    if(iDay){
        var oDate=new Date();
        oDate.setDate(oDate.getDate()+iDay);
        document.cookie=sName+'='+sValue+';expires='+oDate+';path=/';
    }else{
        document.cookie=sName+'='+sValue+';path=/';
    }
}

//获取读取cookie

function getCookie(sName){
    var str=document.cookie;
    var arr=str.split(';');
    for(var i=0;i

//删除cookie

function removeCookie(sName){
    setCookie(sName,'',-1);
}

//ajax调用函数

//解析json
function parseJson(str){
    try{
        return JSON.parse(str);
    }catch(e){
        return eval('('+str+')');
    }
}

//时间戳转化时间

function time2date(t){
    function toDub(n){
        return n<10?'0'+n:''+n;
    }
    var oDate=new Date();
    oDate.setTime(t*1000);//设置一个时间戳
    return oDate.getFullYear()+'-'+(oDate.getMonth()+1)+'-'+oDate.getDate()+''+toDub(oDate.getHours())+':'+toDub(oDate.getMinutes())+':'+toDub(oDate.getSeconds());
}

//封装jsonP

function jsonP(url,data){
    //jsonP使用方法
        //jsonP('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{wd:oT1.value,cb:'show'});
    var oS=document.createElement('script');//创建一个script
    var arr=[];
    for(var name in data){
        arr.push(name+'='+encodeURIComponent(data[name]));
    }
    var sData=arr.join('&');//把data转化为字符串
    oS.src=url+'?'+sData;//拼接
    document.head.appendChild(oS);//插入到父级中;
}

//移动端拖拽

function drag(oDiv){
    var x=0;
    var y=0;
    oDiv.addEventListener('touchstart', function(ev){
    var id= ev.targetTouches[0].identifier;
    var disX= ev.targetTouches[0].pageX - x
    var disY= ev.targetTouches[0].pageY - y;
    function fnMove(ev){
        if(ev.targetTouches[0].identifier==id){
            x=ev.targetTouches[0].pageX - disX;
            y=ev.targetTouches[0].pageY - disY;
            oDiv.style.transform='translate('+x+'px,'+y+'px)';
        }
    }
    function fnEnd(ev){
        if(ev.changedTouches[0].identifier==id){
            document.removeEventListener('touchmove',fnMove, false);
            document.removeEventListener('touchend', fnEnd, false);
        }
    }
    document.addEventListener('touchmove',fnMove, false);
    document.addEventListener('touchend', fnEnd, false);
    ev.preventDefault();        //事件绑定用的阻止默认事件;
    }, false)
}
//调用
//drag(oDiv)

//移动端轮播图

function drag(oDiv,aLi){
    var x=0;
    var iNow=0;
oDiv.addEventListener('touchstart', function(ev){
    var id= ev.targetTouches[0].identifier;
    var disX= ev.targetTouches[0].pageX - x
    var downX=ev.targetTouches[0].pageX;
    function fnMove(ev){
        if(ev.targetTouches[0].identifier==id){
            x=ev.targetTouches[0].pageX - disX;
            oDiv.style.transform='translateX('+x+'px)';
        }
    }
    function fnEnd(ev){
        if(ev.changedTouches[0].identifier==id){
            document.removeEventListener('touchmove',fnMove, false);
            document.removeEventListener('touchend', fnEnd, false);
            oDiv.style.transition='1s all linear';
            var upX=ev.changedTouches[0].pageX;
            if(Math.abs(upX-downX)>50){
                if(upX-downX<0){
                    iNow++;
                    if(iNow==4){
                        iNow=3;
                    }
                }else{
                    iNow--;
                    if(iNow==-1){
                        iNow=0;
                    }
                }
            }
            oDiv.style.transform='translateX('+-iNow*aLi.offsetWidth+'px)';
            oDiv.addEventListener('transitionend',function(){
                oDiv.style.transition='none';
                x=-iNow*aLi.offsetWidth;
            },false);
            
        }
    }
        document.addEventListener('touchmove',fnMove, false);
        document.addEventListener('touchend', fnEnd, false);
        ev.preventDefault();        //事件绑定用的阻止默认事件;
    }, false)
};
  document.addEventListener('DOMContentLoaded',function(){
    var oUl=document.querySelector('#box ul');
    var aLi=oUl.children;
    drag(oUl,aLi[0]);
},false);

//弧度转化为角度

function a2d(n){   
    return n*180/Math.PI;
}
//1π=180°

//角度转化为弧度

function d2a(n){
    return n*Math.PI/180;
}

//查找最大值

var iMax = Math.max.apply(null,obj);
var aHeight = [];
for(var i = 0;i

你可能感兴趣的:(一些简单而实用的小函数)