欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

自己封裝的常用javascript函數(shù)分享

 更新時間:2015年01月07日 10:12:51   投稿:hebedich  
這里給大家推薦一個自己封裝的常用的javascript函數(shù),基本上常見的操作都包含在內(nèi)了,有需要的小伙伴直接拿走使用吧。

都是些常用的功能,這里就不多廢話了,小伙伴們自己看下就明白了

奉上代碼:

復(fù)制代碼 代碼如下:

//cookie
function setCookie(name, value, iDay)
{
    if(iDay!==false)
    {
        var oDate=new Date();
        oDate.setDate(oDate.getDate()+iDay);
        document.cookie=name+'='+value+';expires='+oDate+';path=/';
    }
    else
    {
        document.cookie=name+'='+value;
    }
}
function getCookie(name)
{
    var arr=document.cookie.split('; ');
    var i=0;
    for(i=0;i<arr.length;i++)
    {
        var arr2=arr[i].split('=');
        if(arr2[0]==name)
        {
            return arr2[1];
        }
    }
    return '';
}
function removeCookie(name)
{
    setCookie(name, 'a', -1);
}
//事件
function myAddEvent(obj, ev, fn){
    obj.attachEvent?obj.attachEvent('on'+ev, fn):obj.addEventListener(ev, fn, false);
}
function myDelEvent(obj, ev, fn){
    obj.detachEvent?obj.detachEvent('on'+ev, fn):obj.removeEventListener(ev, fn, false);
}
function getByClass(oParent, sClass)
{
    var aEle=oParent.getElementsByTagName('*');
    var re=new RegExp('\\b'+sClass+'\\b', 'i');
    var aResult=[];
    for(var i=0;i<aEle.length;i++)
    {
        if(re.test(aEle[i].className))
        {
            aResult.push(aEle[i]);
        }
    }
    return aResult;
}
function bindEvent(obj, ev, fn)
{
    obj.addEventListener?obj.addEventListener(ev, fn, false):obj.attachEvent('on'+ev, fn);
}
function unbindEvent(obj, ev, fn)
{
    obj.removeEventListener?obj.removeEventListener(ev, fn, false):obj.detachEvent('on'+ev, fn);
}
//生成隨機(jī)數(shù)
function rnd(n, m)
{
    return Math.random()*(m-n)+n;
}
function time2date(t)
{
    function 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());
}
function time2day(t)
{
    function d(n){return n<10?'0'+n:''+n;}
    var oDate=new Date(t*1000);
    return oDate.getFullYear()+'-'+d(oDate.getMonth()+1)+'-'+d(oDate.getDate());
}
//拖拽
function 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();
        }
        else
        {
            document.onmousemove=fnMove;
            document.onmouseup=fnUp;
            return false;
        }
    };
    function 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);
    }
    function fnUp()
    {
        this.onmousemove=null;
        this.onmouseup=null;
        if(this.releaseCapture)this.releaseCapture();
    }
}
function mouseScroll(obj, fnCallBack)
{
    bindEvent(obj, 'mousewheel', fnScroll);
    bindEvent(obj, 'DOMMouseScroll', fnScroll);
    function fnScroll(ev)
    {
        var oEvent=ev||event;
        var bDown;
        if(oEvent.wheelDelta)
        {
            bDown=oEvent.wheelDelta<0;
        }
        else
        {
            bDown=oEvent.detail>0;
        }
        fnCallBack(bDown);
        if(oEvent.preventDefault)oEvent.preventDefault();
        return false;
    }
}
//擺動運(yùn)動
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);
        return;
    }
    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);
    function fnMove(){
        if(x<50)
        {
            obj.__swing_v+=acc;
        }
        else
        {
            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;
        }
    }
};
//彈性運(yùn)動
zns.site.fx.flex=function (obj, cur, target, fnDo, fnEnd, fs, ms)
{
    if(zns.site.fx.browser_test.IE6)
    {
        fnDo&&fnDo.call(obj, target);
        fnEnd&&fnEnd.call(obj, target);
        return;
    }
    var MAX_SPEED=16;
    if(!fs)fs=6;
    if(!ms)ms=0.75;
    var now={};
    var x=0;    //0-100
    if(!obj.__flex_v)obj.__flex_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);
    function 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;
        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.__flex_v)<1 && Math.abs(100-x)<1)
        {
            clearInterval(obj.timer);
            if(fnEnd)fnEnd.call(obj, target);
            obj.__flex_v=0;
        }
    }
};

相關(guān)文章

  • ES6知識點(diǎn)整理之Proxy的應(yīng)用實(shí)例詳解

    ES6知識點(diǎn)整理之Proxy的應(yīng)用實(shí)例詳解

    這篇文章主要介紹了ES6知識點(diǎn)整理之Proxy的應(yīng)用,結(jié)合實(shí)例形式詳細(xì)分析了ES6中Proxy的功能、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-04-04
  • clipboard.js無需Flash無需依賴任何JS庫實(shí)現(xiàn)文本復(fù)制與剪切

    clipboard.js無需Flash無需依賴任何JS庫實(shí)現(xiàn)文本復(fù)制與剪切

    這篇文章主要實(shí)現(xiàn)了無需Flash無需依賴任何JS庫實(shí)現(xiàn)文本復(fù)制與剪切,是一款極現(xiàn)代的,不需要flash,不依賴任何其他js庫的非常小的插件,叫clipboard.js,感興趣的小伙伴們可以參考一下
    2015-10-10
  • Bootstrap學(xué)習(xí)筆記之css組件(3)

    Bootstrap學(xué)習(xí)筆記之css組件(3)

    這篇文章主要為大家詳細(xì)介紹了bootstrap學(xué)習(xí)筆記中的css組件,感興趣的小伙伴們可以參考一下
    2016-06-06
  • js不完美解決click和dblclick事件沖突問題

    js不完美解決click和dblclick事件沖突問題

    當(dāng)某個元素,如:div,同時綁定了click事件和dblclick事件,而這兩個事件又要處理相對獨(dú)立的業(yè)務(wù),也就是click的時候不能觸發(fā)dblclick,dblclick的時候不能觸發(fā)click
    2012-07-07
  • 原生JS簡單實(shí)現(xiàn)ajax的方法示例

    原生JS簡單實(shí)現(xiàn)ajax的方法示例

    這篇文章主要介紹了原生JS簡單實(shí)現(xiàn)ajax的方法,結(jié)合實(shí)例形式分析了ajax的實(shí)現(xiàn)步驟與相關(guān)使用技巧,需要的朋友可以參考下
    2016-11-11
  • 利用JavaScript中的高階函數(shù)和閉包實(shí)現(xiàn)命令模式

    利用JavaScript中的高階函數(shù)和閉包實(shí)現(xiàn)命令模式

    命令模式提供了一種優(yōu)雅的解決方案,使得我們能夠靈活地封裝和管理代碼操作,所以本文將為大家介紹命令模式的概念、應(yīng)用場景以及在JavaScript中的實(shí)現(xiàn)方式,需要的可以參考一下
    2023-06-06
  • Javascript HTML5 Canvas實(shí)現(xiàn)的一個畫板

    Javascript HTML5 Canvas實(shí)現(xiàn)的一個畫板

    這篇文章主要為大家詳細(xì)介紹了Javascript HTML5 Canvas實(shí)現(xiàn)的一個畫板的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • JS隱藏號碼中間4位代碼實(shí)例

    JS隱藏號碼中間4位代碼實(shí)例

    這篇文章主要介紹了JS隱藏號碼中間4位,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 微信小程序如何獲取用戶信息

    微信小程序如何獲取用戶信息

    這篇文章主要為大家詳細(xì)介紹了微信小程序如何獲取用戶信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 工作需要寫的一個js拖拽組件

    工作需要寫的一個js拖拽組件

    工作需要寫的一個js拖拽組件,需要的朋友可以參考下代碼。
    2011-07-07

最新評論