您的位置:首页 > Web前端 > JavaScript

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

2017-05-11 14:44 369 查看
/*
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]; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数 js