[JavaScript] javaScript常用的函数封装 →→→→→进入此内容的聊天室

来自 , 2020-07-04, 写在 JavaScript, 查看 136 次.
URL http://www.code666.cn/view/71d7232b
  1. //cookie
  2. function setCookie(name, value, iDay)
  3. {
  4.     if(iDay!==false)
  5.     {
  6.         var oDate=new Date();
  7.         oDate.setDate(oDate.getDate()+iDay);
  8.  
  9.         document.cookie=name+'='+value+';expires='+oDate+';path=/';
  10.     }
  11.     else
  12.     {
  13.         document.cookie=name+'='+value;
  14.     }
  15. }
  16.  
  17. function getCookie(name)
  18. {
  19.     var arr=document.cookie.split('; ');
  20.     var i=0;
  21.  
  22.     for(i=0;i<arr.length;i++)
  23.     {
  24.         var arr2=arr[i].split('=');
  25.  
  26.         if(arr2[0]==name)
  27.         {
  28.             return arr2[1];
  29.         }
  30.     }
  31.     return '';
  32. }
  33.  
  34. function removeCookie(name)
  35. {
  36.     setCookie(name, 'a', -1);
  37. }
  38. //事件
  39. function myAddEvent(obj, ev, fn){
  40.     obj.attachEvent?obj.attachEvent('on'+ev, fn):obj.addEventListener(ev, fn, false);
  41. }
  42. function myDelEvent(obj, ev, fn){
  43.     obj.detachEvent?obj.detachEvent('on'+ev, fn):obj.removeEventListener(ev, fn, false);
  44. }
  45.  
  46. function getByClass(oParent, sClass)
  47. {
  48.     var aEle=oParent.getElementsByTagName('*');
  49.     var re=new RegExp('\\b'+sClass+'\\b', 'i');
  50.     var aResult=[];
  51.  
  52.     for(var i=0;i<aEle.length;i++)
  53.     {
  54.         if(re.test(aEle[i].className))
  55.         {
  56.             aResult.push(aEle[i]);
  57.         }
  58.     }
  59.  
  60.     return aResult;
  61. }
  62.  
  63. function bindEvent(obj, ev, fn)
  64. {
  65.     obj.addEventListener?obj.addEventListener(ev, fn, false):obj.attachEvent('on'+ev, fn);
  66. }
  67. function unbindEvent(obj, ev, fn)
  68. {
  69.     obj.removeEventListener?obj.removeEventListener(ev, fn, false):obj.detachEvent('on'+ev, fn);
  70. }
  71.  
  72. //生成随机数
  73. function rnd(n, m)
  74. {
  75.     return Math.random()*(m-n)+n;
  76. }
  77.  
  78. function time2date(t)
  79. {
  80.     function d(n){return n<10?'0'+n:''+n;}
  81.  
  82.     var oDate=new Date(t*1000);
  83.  
  84.     return oDate.getFullYear()+'-'+d(oDate.getMonth()+1)+'-'+d(oDate.getDate())+' '+d(oDate.getHours())+':'+d(oDate.getMinutes())+':'+d(oDate.getSeconds());
  85. }
  86. function time2day(t)
  87. {
  88.     function d(n){return n<10?'0'+n:''+n;}
  89.  
  90.     var oDate=new Date(t*1000);
  91.  
  92.     return oDate.getFullYear()+'-'+d(oDate.getMonth()+1)+'-'+d(oDate.getDate());
  93. }
  94.  
  95. //拖拽
  96. function drag(objEv, objMove, fnMoveCallBack)
  97. {
  98.     var disX=0,disY=0;
  99.  
  100.     objEv.onmousedown=function (ev)
  101.     {
  102.         var oEvent=ev||event;
  103.         disX=(document.documentElement.scrollLeft||document.body.scrollLeft)+oEvent.clientX-objMove.offsetLeft;
  104.         disY=(document.documentElement.scrollTop||document.body.scrollTop)+oEvent.clientY-objMove.offsetTop;
  105.  
  106.         if(objEv.setCapture)
  107.         {
  108.             objEv.onmousemove=fnMove;
  109.             objEv.onmouseup=fnUp;
  110.  
  111.             objEv.setCapture();
  112.         }
  113.         else
  114.         {
  115.             document.onmousemove=fnMove;
  116.             document.onmouseup=fnUp;
  117.  
  118.             return false;
  119.         }
  120.     };
  121.  
  122.     function fnMove(ev)
  123.     {
  124.         var oEvent=ev||event;
  125.         var l=(document.documentElement.scrollLeft||document.body.scrollLeft)+oEvent.clientX-disX;
  126.         var t=(document.documentElement.scrollTop||document.body.scrollTop)+oEvent.clientY-disY;
  127.  
  128.         fnMoveCallBack(l,t);
  129.     }
  130.  
  131.     function fnUp()
  132.     {
  133.         this.onmousemove=null;
  134.         this.onmouseup=null;
  135.  
  136.         if(this.releaseCapture)this.releaseCapture();
  137.     }
  138. }
  139.  
  140. function mouseScroll(obj, fnCallBack)
  141. {
  142.     bindEvent(obj, 'mousewheel', fnScroll);
  143.     bindEvent(obj, 'DOMMouseScroll', fnScroll);
  144.  
  145.     function fnScroll(ev)
  146.     {
  147.         var oEvent=ev||event;
  148.         var bDown;
  149.  
  150.         if(oEvent.wheelDelta)
  151.         {
  152.             bDown=oEvent.wheelDelta<0;
  153.         }
  154.         else
  155.         {
  156.             bDown=oEvent.detail>0;
  157.         }
  158.  
  159.         fnCallBack(bDown);
  160.  
  161.         if(oEvent.preventDefault)oEvent.preventDefault();
  162.         return false;
  163.     }
  164. }
  165.  
  166. //摆动运动
  167. zns.site.fx.swing=function (obj, cur, target, fnDo, fnEnd, acc)
  168. {
  169.     if(zns.site.fx.browser_test.IE6)
  170.     {
  171.         fnDo&&fnDo.call(obj, target);
  172.         fnEnd&&fnEnd.call(obj, target);
  173.         return;
  174.     }
  175.     if(!acc)acc=0.1;
  176.     var now={};
  177.     var x=0;    //0-100
  178.  
  179.     if(!obj.__swing_v)obj.__swing_v=0;
  180.  
  181.     if(!obj.__last_timer)obj.__last_timer=0;
  182.     var t=new Date().getTime();
  183.     if(t-obj.__last_timer>20)
  184.     {
  185.         fnMove();
  186.         obj.__last_timer=t;
  187.     }
  188.  
  189.     clearInterval(obj.timer);
  190.     obj.timer=setInterval(fnMove, 20);
  191.  
  192.     function fnMove(){
  193.         if(x<50)
  194.         {
  195.             obj.__swing_v+=acc;
  196.         }
  197.         else
  198.         {
  199.             obj.__swing_v-=acc;
  200.         }
  201.  
  202.         //if(Math.abs(obj.__flex_v)>MAX_SPEED)obj.__flex_v=obj.__flex_v>0?MAX_SPEED:-MAX_SPEED;
  203.  
  204.         x+=obj.__swing_v;
  205.  
  206.         //alert(x+','+obj.__swing_v);
  207.  
  208.         for(var i in cur)
  209.         {
  210.             now[i]=(target[i]-cur[i])*x/100+cur[i];
  211.         }
  212.  
  213.  
  214.         if(fnDo)fnDo.call(obj, now);
  215.  
  216.         if(/*Math.abs(obj.__swing_v)<1 || */Math.abs(100-x)<1)
  217.         {
  218.             clearInterval(obj.timer);
  219.             if(fnEnd)fnEnd.call(obj, target);
  220.             obj.__swing_v=0;
  221.         }
  222.     }
  223. };
  224.  
  225. //弹性运动
  226. zns.site.fx.flex=function (obj, cur, target, fnDo, fnEnd, fs, ms)
  227. {
  228.     if(zns.site.fx.browser_test.IE6)
  229.     {
  230.         fnDo&&fnDo.call(obj, target);
  231.         fnEnd&&fnEnd.call(obj, target);
  232.         return;
  233.     }
  234.     var MAX_SPEED=16;
  235.  
  236.     if(!fs)fs=6;
  237.     if(!ms)ms=0.75;
  238.     var now={};
  239.     var x=0;    //0-100
  240.  
  241.     if(!obj.__flex_v)obj.__flex_v=0;
  242.  
  243.     if(!obj.__last_timer)obj.__last_timer=0;
  244.     var t=new Date().getTime();
  245.     if(t-obj.__last_timer>20)
  246.     {
  247.         fnMove();
  248.         obj.__last_timer=t;
  249.     }
  250.  
  251.     clearInterval(obj.timer);
  252.     obj.timer=setInterval(fnMove, 20);
  253.  
  254.     function fnMove(){
  255.         obj.__flex_v+=(100-x)/fs;
  256.         obj.__flex_v*=ms;
  257.  
  258.         if(Math.abs(obj.__flex_v)>MAX_SPEED)obj.__flex_v=obj.__flex_v>0?MAX_SPEED:-MAX_SPEED;
  259.  
  260.         x+=obj.__flex_v;
  261.  
  262.         for(var i in cur)
  263.         {
  264.             now[i]=(target[i]-cur[i])*x/100+cur[i];
  265.         }
  266.  
  267.  
  268.         if(fnDo)fnDo.call(obj, now);
  269.  
  270.         if(Math.abs(obj.__flex_v)<1 && Math.abs(100-x)<1)
  271.         {
  272.             clearInterval(obj.timer);
  273.             if(fnEnd)fnEnd.call(obj, target);
  274.             obj.__flex_v=0;
  275.         }
  276.     }
  277. };

回复 "javaScript常用的函数封装"

这儿你可以回复上面这条便签

captcha