Heim  >  Artikel  >  Web-Frontend  >  Teilen Sie gängige Javascript-Funktionen, die von Ihnen selbst gekapselt wurden_Javascript-Kenntnisse

Teilen Sie gängige Javascript-Funktionen, die von Ihnen selbst gekapselt wurden_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:21:53893Durchsuche

Dies sind einige häufig verwendete Funktionen, daher werde ich hier nicht zu viel Unsinn machen. Ihr werdet es verstehen, wenn ihr sie euch selbst anschaut.

Geben Sie den Code an:

Code kopieren Der Code lautet wie folgt:

//Keks
Funktion setCookie(name, value, iDay)
{
    if(iDay!==false)
    {
        var oDate=new Date();
        oDate.setDate(oDate.getDate() iDay);
        document.cookie=name '=' value ';expires=' oDate ';path=/';
    }
    sonst
    {
        document.cookie=name '=' value;
    }
}
Funktion getCookie(name)
{
    var arr=document.cookie.split('; ');
    var i=0;
    for(i=0;i     {
        var arr2=arr[i].split('=');
        if(arr2[0]==name)
        {
            return arr2[1];
        }
    }
    return '';
}
Funktion „removeCookie(name)“
{
    setCookie(name, 'a', -1);
}
//事件
Funktion myAddEvent(obj, ev, fn){
    obj.attachEvent?obj.attachEvent('on' ev, fn):obj.addEventListener(ev, fn, false);
}
Funktion myDelEvent(obj, ev, fn){
    obj.detachEvent?obj.detachEvent('on' ev, fn):obj.removeEventListener(ev, fn, false);
}
Funktion getByClass(oParent, sClass)
{
    var aEle=oParent.getElementsByTagName('*');
    var re=new RegExp('\b' sClass '\b', 'i');
    var aResult=[];
    for(var i=0;i     {
        if(re.test(aEle[i].className))
        {
            aResult.push(aEle[i]);
        }
    }
    return aResult;
}
Funktion bindEvent(obj, ev, fn)
{
    obj.addEventListener?obj.addEventListener(ev, fn, false):obj.attachEvent('on' ev, fn);
}
Funktion unbindEvent(obj, ev, fn)
{
    obj.removeEventListener?obj.removeEventListener(ev, fn, false):obj.detachEvent('on' ev, fn);
}
//生成随机数
Funktion rnd(n, m)
{
    return Math.random()*(m-n) n;
}
Funktion time2date(t)
{
    Funktion d(n){return n<10?'0' n:'' n;}
    var oDate=new Date(t*1000);
    return oDate.getFullYear() '-' d(oDate.getMonth() 1) '-' d(oDate.getDate()) ' ' d(oDate.getHours()) ':' d(oDate.getMinutes()) ':' d(oDate.getSeconds());
}
Funktion time2day(t)
{
    Funktion d(n){return n<10?'0' n:'' n;}
    var oDate=new Date(t*1000);
    return oDate.getFullYear() '-' d(oDate.getMonth() 1) '-' d(oDate.getDate());
}
//拖拽
Funktion Drag(objEv, objMove, fnMoveCallBack)
{
    var disX=0,disY=0;
    objEv.onmousedown=function (ev)
    {
        var oEvent=ev||event;
        disX=(document.documentElement.scrollLeft||document.body.scrollLeft) oEvent.clientX-objMove.offsetLeft;
        disY=(document.documentElement.scrollTop||document.body.scrollTop) oEvent.clientY-objMove.offsetTop;
        if(objEv.setCapture)
        {
            objEv.onmousemove=fnMove;
            objEv.onmouseup=fnUp;
            objEv.setCapture();
        }
        sonst
        {
            document.onmousemove=fnMove;
            document.onmouseup=fnUp;
            return false;
        }
    };
    Funktion fnMove(ev)
    {
        var oEvent=ev||event;
        var l=(document.documentElement.scrollLeft||document.body.scrollLeft) oEvent.clientX-disX;
        var t=(document.documentElement.scrollTop||document.body.scrollTop) oEvent.clientY-disY;
        fnMoveCallBack(l,t);
    }
    Funktion fnUp()
    {
        this.onmousemove=null;
        this.onmouseup=null;
        if(this.releaseCapture)this.releaseCapture();
    }
}
Funktion MouseScroll(obj, fnCallBack)
{
    bindEvent(obj, 'mousewheel', fnScroll);
    bindEvent(obj, 'DOMMouseScroll', fnScroll);
    Funktion fnScroll(ev)
    {
        var oEvent=ev||event;
        var bDown;
        if(oEvent.wheelDelta)
        {
            bDown=oEvent.wheelDelta<0;
        }
        sonst
        {
            bDown=oEvent.detail>0;
        }
        fnCallBack(bDown);
        if(oEvent.preventDefault)oEvent.preventDefault();
        return false;
    }
}
//摆动运动
zns.site.fx.swing=function (obj, cur, target, fnDo, fnEnd, acc)
{
    if(zns.site.fx.browser_test.IE6)
    {
        fnDo&&fnDo.call(obj, target);
        fnEnd&&fnEnd.call(obj, target);
        zurück;
    }
    if(!acc)acc=0.1;
    var now={};
    var x=0;    //0-100
    if(!obj.__swing_v)obj.__swing_v=0;
    if(!obj.__last_timer)obj.__last_timer=0;
    var t=new Date().getTime();
    if(t-obj.__last_timer>20)
    {
        fnMove();
        obj.__last_timer=t;
    }
    clearInterval(obj.timer);
    obj.timer=setInterval(fnMove, 20);
    Funktion fnMove(){
        if(x<50)
        {
            obj.__swing_v =acc;
        }
        sonst
        {
            obj.__swing_v-=acc;
        }
        //if(Math.abs(obj.__flex_v)>MAX_SPEED)obj.__flex_v=obj.__flex_v>0?MAX_SPEED:-MAX_SPEED;
        x =obj.__swing_v;
        //alert(x ',' obj.__swing_v);
        for(var i in cur)
        {
            now[i]=(target[i]-cur[i])*x/100 cur[i];
        }
        if(fnDo)fnDo.call(obj, now);
        if(/*Math.abs(obj.__swing_v)<1 || */Math.abs(100-x)<1)
        {
            clearInterval(obj.timer);
            if(fnEnd)fnEnd.call(obj, target);
            obj.__swing_v=0;
        }
    }
};
//弹性运动
zns.site.fx.flex=fonction (obj, cur, target, fnDo, fnEnd, fs, ms)
{
    si(zns.site.fx.browser_test.IE6)
    {
        fnDo&&fnDo.call(obj, cible);
        fnEnd&&fnEnd.call(obj, cible);
        revenir ;
    >
    var MAX_SPEED=16;
    si(!fs)fs=6;
    si(!ms)ms=0,75;
    var maintenant={};
    variable x=0 ;    //0-100
    si(!obj.__flex_v)obj.__flex_v=0;
    si(!obj.__last_timer)obj.__last_timer=0;
    var t=new Date().getTime();
    si(t-obj.__last_timer>20)
    {
        fnMove();
        obj.__last_timer=t;
    >
    clearInterval(obj.timer);
    obj.timer=setInterval(fnMove, 20);
    fonction fnMove(){
        obj.__flex_v =(100-x)/fs;
        obj.__flex_v*=ms;
        if(Math.abs(obj.__flex_v)>MAX_SPEED)obj.__flex_v=obj.__flex_v>0?MAX_SPEED:-MAX_SPEED;
        x =obj.__flex_v;
        pour(var i in cur)
        {
            maintenant[i]=(target[i]-cur[i])*x/100 cur[i];
        >
        if(fnDo)fnDo.call(obj, maintenant);
        si(Math.abs(obj.__flex_v)<1 && Math.abs(100-x)<1)
        {
            clearInterval(obj.timer);
            if(fnEnd)fnEnd.call(obj, cible);
            obj.__flex_v=0;
        >
    >
};
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn