以前写的几个工具性的函数

以前写的几个工具函数。


1.单位转换。如byteTrans(1024) =>1kb;   byteTrans(1024,'kb') =>1mb;  byteTrans(11111111)=>10.60mb; byteTrans(11111111,"mb")=>10.60tb

		function byteTrans (sizeNum,byteStr) {
			if(sizeNum == null || sizeNum == undefined ||sizeNum == ''){
				return '0b';
			}
			sizeNum = parseFloat(sizeNum);
			var resNum = sizeNum;
			var byteStrArr = ['b','kb','mb','gb','tb'];
			var byteIndex;
			var i;
			var byteLen = byteStrArr.length;

			if(byteStr == null){
				byteIndex = 0;
			}else{
  				byteStr = byteStr.toLowerCase();//转化为小写
  				for(i = 0;i<byteLen;i++){
  					if(byteStrArr[i] == byteStr){
  						byteIndex = i;
  						break;
  					}else{
  						byteIndex = 0;
  					}
  				}
  			}

  			while(resNum>=1024){
  				resNum = resNum/1024;
  				byteIndex++;
  			}
  			resNum = resNum.toFixed(2);
  			return resNum + byteStrArr[byteIndex];

  		}



2.JavaScript时间戳转时间。传入到微秒级时间戳。返回的对象包括年、月、日、时、分、秒、年-月-日、年-月-日 时:分:秒。方便使用。

注。如果是秒级的时间戳。请把ms*1000来使用函数。

   var now = new Date().getTime();  
  var time1 =getDate(now- 60000).time; //"2016-03-09 23:27:25"
  var time2 = getDate(now).time;//"2016-03-09 23:28:25"

  		function getDate(ms){
  			var res,today,year,month,day,hour,minute,second;
  			if(ms!=undefined){
  				today = new Date()
  				today.setTime(ms);
  			}else{
  				today = new Date();
  			}

  			year = today.getFullYear();
  			month = today.getMonth() + 1;
  			day = today.getDate();
  			hour = today.getHours();
  			minute = today.getMinutes();
  			second = today.getSeconds();
  			
  			month = month<10?"0"+month:month;
  			day = day<10?"0"+day:day;
  			hour = hour<10?"0"+hour:hour;
  			minute = minute<10?"0"+minute:minute;
  			second = second<10?"0"+second:second;

  			res={
  				'y':year,
  				'M':month,
  				'd':day,
  				'h':hour,
  				"m":minute,
  				"s":second,
  				"time":year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second,
  				"date":year+"-"+month+"-"+day
  			}
  			return res;
  		}


3.设置图片的宽或高的最大值。有时候图片很宽或很长。 我们可以给图片设置一个高和宽的极值,另一边自动适应。

  	function  autoImgSize(img,size){
  	    if(!size){
                size=1000;//设置默认最大值为1000
            }
            var imgobj= document.getElementById(img); //获取对象
            imgobj.style.width = "auto";
            imgobj.style.height = "auto";  //释放图片本来的大小
            var imgwidth=imgobj.width;
            var imgheight=imgobj.height;
             if(imgwidth>imgheight){     //判断是width和height哪一个大。大的先处理。设置最大值size
             	if(imgwidth>size){
             		imgobj.style.width = size + "px";
             	}
             	imgheight=imgobj.height;
             	if(imgheight>size){

             		imgobj.style.height = size + "px";
             	}
             }else{
             	if(imgheight>size){
             		imgobj.style.height = size + "px";
             	}
             	imgwidth=imgobj.width;
             	if(imgwidth>size){
             		imgobj.style.width = size + "px";
             	}
             }
         }


4.JavaScript分页函数。 有时候我们把一整个数据从后台拿了过来。要在前端对这些数据进行分页操作。

传入数组,每页的容量,要获取哪一页的数据。      返回上一页、下一页的页码。当前页的数据内容。总页数。

         //js分页函数
         function jsPage(Arr,pagesize,page){

         	if(!(Object.prototype.toString.call(Arr) === '[object Array]')){
         		return
         	}
         	pagesize = parseInt(pagesize);
         	if(isNaN(pagesize)){
         		pagesize = 10;
         	}
         	if(pagesize <1){
         		pagesize = 10;
         	}
         	var total = Arr.length;
         	var pagenum = Math.ceil(total/pagesize);
         	var prepage,nextpage,offset,end,pageData,Res;
         	if(pagenum == 0){
         		pagenum = 1;
         	}
         	prepage = page-1;
         	nextpage = page+1;

         	page = parseInt(page);
         	if(isNaN(page)){
         		page = 1;
         	}
         	page = page <1?1:page;
         	page = page>pagenum?pagenum:page;
         	offset = (page - 1)*pagesize;
         	end = offset +pagesize;

         	pageData = Arr.slice(offset,end);
         	Res={
         		pagenum:pagenum,
         		prepage:prepage,
         		nextpage:nextpage,
         		pageData:pageData
         	}
         	return Res;
         }

待续。

你可能感兴趣的:(JavaScript,JavaScript工具函数)