首页 > 代码库 > js学习中,写的一些小函数

js学习中,写的一些小函数

/*

my js的库

*/

//随机产生n个从x-y中不重复的整数

function check(n,x,y){

var num=[];

for(var i=0;i<n;i++){

num[i]=Math.ceil(Math.random()*(y-x)+x);

for(var j=0;j<num.length-1;j++){

if(num[j]===num[++j]){

num.splice(j,1);

n++;

}

}

}

//alert(num.length);

return num;

}

//返回一个X-Y之间的随机数

function stochastic(x,y){

//四舍五入和0-1之间的随机数

return Math.round(Math.random()*(y-x)+x);

}

//需要检测的标签对象-->检测标签中的内容是否全部都是数字(仅对与input标签)

function check(obj){

var text = obj.value;

//var judge=true;

for(var i=0;i<text.length;i++){

//alert(text.charCodeAt(i)>57);

if(text.charCodeAt(i)>57||text.charCodeAt(i)<48){

//judge=false;

return false;

}

}

/*

if(panduan==false){

alert("这不是一串数字");

}*/

//改进-->简单明了

//return judge==false? false: true;

return true;

}

//透明函数,对象,速度,目标点,改变频率,回调函数

function diaphaneity(obj,speed,target,rate,enfn){

var setTime =null;

var target=target;

speed = parseFloat(getStyle(obj,‘opacity‘))*100<target?speed:-speed;

setTime=setInterval(function(){


//console.log(parseFloat(getStyle(obj,‘opacity‘))*100);

var extent=parseFloat(getStyle(obj,‘opacity‘))*100+speed;//改变后的透明度

obj.style.opacity=extent*0.01+"";

if(parseFloat(getStyle(obj,‘opacity‘))*100===target){

obj.style.opacity=target*0.01+"";

clearInterval(setTime);

enfn&&enfn();

}


},rate);

}

//需要抖动的对象,抖动的频率,帧数,方向,初始位置

function shake(obj,rate,frame,att,size){

var arr=[];

var setTime=null;

for(var i=rate;i>0;i-=frame){

arr.push(i,-i);

}

arr.push(0);

var index=0;

var setdu=parseInt(size);//有问题的,待解决。

console.log(setdu);

setTime=setInterval(function(){

if(index>=arr.length){

index=0;

clearInterval(setTime);

setTime=null;

}else{

setdu=setdu+arr[index];

obj.style[att]=setdu+"px";

index++;

}

},50);

}

//让层上下左右移动 ,参数   标签对象,上/下/左/右,终点距离,回调函数 

function doMove ( obj, attr, dir, target, endFn ) {

var target=target;

dir = parseInt(getStyle( obj, attr )) < target ? dir : -dir;

clearInterval( obj.timer );

obj.timer = setInterval(function () {

var speed = parseInt(getStyle( obj, attr )) + dir; // 步长

if ( speed > target && dir > 0 ||  speed < target && dir < 0  ) {

speed = target;

}

obj.style[attr] = speed + ‘px‘;

if ( speed == target) {

clearInterval( obj.timer );

/*

if ( endFn ) {

endFn();

}

*/

endFn && endFn();

}

}, 30);

}


//获取样式的值

function getStyle ( obj, attr ) { return obj.currentStyle?obj.currentStyle[attr] : getComputedStyle( obj )[attr]; }


本文出自 “12897581” 博客,请务必保留此出处http://12907581.blog.51cto.com/12897581/1924484

js学习中,写的一些小函数